php 遍歷mysql陣列中 PHP之陣列遍歷

2021-10-18 12:40:48 字數 2597 閱讀 5488

陣列在php中是乙個非常強大的**,用起來方便、容易,由於使用起來異常靈活,用它就可以實現資料結構中的鍊錶、棧、佇列、堆以及所謂的字典、集合等,也可以轉換成xml格式。

1、使用for

for語句遍歷陣列不是乙個好選擇,一般不會用,侷限性太大,因為陣列的下標很多時候不連續,或者是既有整數下標又有字串下標,但存在這麼乙個情況,恰好是索引陣列,且它的下標是連續的,那麼這也是一種方法。

for($i=0; $i';

2、使用foreach

foreach比for更方便、靈活,一般用它,使用foreach($arr_name as $value)時,會將陣列的元素賦給as關鍵字後面的變數,當然這是針對一維陣列而言,還可以將元素所在的鍵名取到,如下方式foreach($arr_name as $key=>$value)即可。

<?php $array = array('os'=>'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作用時將移動到下乙個元素,示例

<?php $arr = array('one'=>'a','two'=>'b', 'three'=>'c');$lst = each($arr);echo 'each=>

';var_dump($lst);
效果

list函式的作用是,賦給它乙個陣列變數,它會將該陣列中的以整數為鍵值的元素按鍵值從小到大的順序賦給自己的引數,如果引數不夠填滿引數為止,如果陣列中值不夠,則引數被賦為空值,**接上

list($key, $val) = $lst;echo '

';echo 'key: '.$key.' value: '.$val.'

';效果

還有,如果不想接受前面的元素,還可以用逗號分隔、不傳變數的形式跳過去,具體如

$array = array('a', 'b', 'c');list(, , $c) = $array; //$c的值為'c'

$lst陣列變數中的值,鍵值為整數的分別是前面的1=>'a'和後面的0=>'one,list函式的好處是即便鍵值小的、排在後邊元素也會按照從小到大的順序賦給list函式中的從前到後的引數。

由於each不迴圈陣列,每each作用一下只移動一下指標,到陣列末尾返回值為false,於是放在while中就最合適不過了

<?php $arr = array('one'=>'a','two'=>'b', 'three'=>'c');while(list($key, $val) = each($arr)){echo $key.' => '.$val.'

';效果

4、使用陣列內部指標移動函式

陣列內部指標預設指向陣列中的第乙個元素,函式大致有,current():返回當前指標指向陣列中位置的元素值;key():返回當前指標指向陣列中位置的元素鍵;next():將指標移動到下乙個元素位置;prev():將指標移動到前乙個元素位置;reset():將陣列指標一到那個到陣列第乙個元素的位置;end():將陣列指標移動到陣列最後乙個元素的位置。它們作用的引數均為陣列變數本身,而結合do...while又可實現陣列的順序和逆序遍歷。

<?phpecho 'key:'.key($arr).' current:'.current($arr).'

'; //當前鍵和值,預設指向陣列第乙個元素

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).'

'; //當前鍵和值

效果

php遍歷mysql陣列中 遞迴遍歷PHP多維陣列

陣列的遍歷是php乙個常見的程式設計任務,而陣列又分為一維陣列 二維陣列和多維陣列。一維陣列的遍歷很簡單,直接乙個for迴圈就可以完成。那麼二維陣列和多維陣列的遍歷又應該如何實現呢?請看以下程式 author nowamagic url www.nowamagic.net date 2011 03 ...

php陣列遍歷

陣列的遍歷 1.使用for語句迴圈遍歷陣列 a.其它語言 只有這一種方式 b.php中這種方式不是我們首選方式 c.陣列必須是索引陣列,而且下標還必須是連續的 索引陣列下標還可以不連序,陣列還有關聯陣列 2.使用foreach語句迴圈遍歷陣列 foreach 陣列變數 as 變數值 a.迴圈次數由陣...

php陣列遍歷

來說下php陣列的遍歷,可能很多人會質疑,陣列的遍歷有啥好說的,乙個for迴圈,不就出來了,其實不然,for迴圈遍歷php陣列是最糟糕的php 下面對比詳細分析下。大家都知道c c 在定義陣列的時候會在棧區分配連續固定大小的記憶體空間給陣列變數,c 一般用for迴圈遞增偏移量遍歷陣列 c 除了for...