PHP之數組遍曆
數組在PHP中是一個非常強大的武器,用起來方便、容易,由於使用起來異常靈活,用它就可以實現資料結構中的鏈表、棧、隊列、堆以及所謂的字典、集合等,也可以轉換成XML格式。 1、使用for for語句遍曆數組不是一個好選擇,一般不會用,局限性太大,因為數組的下標很多時候不連續,或者是既有整數下標又有字串下標,但存在這麼一個情況,恰好是索引數組,且它的下標是連續的,那麼這也是一種方法。 '; 2、使用foreach foreach比for更方便、靈活,一般使用它,使用時foreach($arr_name as $value),將前一個數組使用as關鍵字專為它的元素,當然這是針對一維數組而言,還可以將元素所在的鍵名取到,如下方式foreach($arr_name as $key=>$value)即可。 'Linux', 'server'=>'Apache', 'db'=>'mysql', 'language'=>'PHP'); foreach($array as $key=>$value){ echo 'key: '.$key.' --- value: '.$value.'
'; } : 3、list、each、while函數結合 each函數每作用於數組一次,指向內部元素的指標遍向後挪動一個單元,每次each返回一個固定格式的鍵/值對數組,具體是(1=>值, 'value'=>值, 0=>鍵, 'key'=>鍵)。下一次each作用時將移動到下一個元素,樣本 'a','two'=>'b', 'three'=>'c'); $lst = each($arr); echo 'each=>
'; var_dump($lst); list函數的作用是,賦給它一個陣列變數,它會將該數組中的以整數為索引值的元素按索引值從小到大的順序賦給自己的參數,如果參數不夠填滿參數為止,如果數組中值不夠,則參數被賦為空白值,代碼接上 list($key, $val) = $lst; echo '
'; $lst陣列變數中的值,索引值為整數的分別是前面的1=>'a'和後面的0=>'one,list函數的好處是即便索引值小的、排在後邊元素也會按照從小到大的順序賦給list函數中的從前到後的參數。 由於each不迴圈數組,每each作用一下只移動一下指標,到數組末尾傳回值為false,於是放在while中就最合適不過了 'a','two'=>'b', 'three'=>'c'); while(list($key, $val) = each($arr)){ echo $key.' => '.$val.'
'; } 4、使用數組內部指標移動函數 數組內部指標預設指向數組中的第一個元素,函數大致有,current():返回當前指標指向數組中位置的元素值;key():返回當前指標指向數組中位置的元素鍵;next():將指標移動到下一個元素位置;prev():將指標移動到前一個元素位置;reset():將數組指標一到那個到數組第一個元素的位置;end():將數組指標移動到數組最後一個元素的位置。它們作用的參數均為陣列變數本身,而結合do...while又可實現數組的順序和逆序遍曆。 複製代碼'; //當前鍵和值,預設指向數組第一個元素 next($arr); //後移一個,指向第二個元素 echo 'key:'.key($arr).' current:'.current($arr).'
'; //當前鍵和值 next($arr); //再後移一個,指向第三個元素 echo 'key:'.key($arr).' current:'.current($arr).'
'; //當前鍵和值 prev($arr); //前移一個,指向第二個元素 echo 'key:'.key($arr).' current:'.current($arr).'
'; //當前鍵和值 end($arr); //移動到數組最後一個元素 echo 'key:'.key($arr).' current:'.current($arr).'
'; //當前鍵和值 reset($arr); //移動到數組第一個元素 echo 'key:'.key($arr).' current:'.current($arr).'
'; //當前鍵和值 http://www.bkjia.com/PHPjc/893562.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/893562.htmlTechArticlePHP之數組遍曆 數組在PHP中是一個非常強大的武器,用起來方便、容易,由於使用起來異常靈活,用它就可以實現資料結構中的鏈表、棧、隊...