php中可以用來遍歷數組的方法有很多,如有:foreach語句、list()、each(),這幾個也是主要的方法,現總結如下:
foreach語句遍歷數組
foreach語句用於循環遍歷數組,每進行一次循環,當前數組元素的值就會被賦值給變量value(也可以是其它變量),數組指針會逐一的移動。
foreach($array as $value){ //$array要遍歷的數組,$value為指針指向數組當前的值,as起到賦值的作用
code to executed;
}
foreach語句也可以獲得數組的鍵名,如下:
foreach($array as $key => $value){
echo $key "-" $value. "<br />";
}
echo()函數
each()的作用是將數組當前元素的鍵值對拆成一個新數組,並把下一個元素作為當前元素。比如Array(...,'Robert'=>'Bob',...)中的'Robert'=>'Bob'鍵值對,拆成Array([1]=>'Bob',[value]=>'Bob',[0]=>'Robert',[key]=>'Robert')數組,拆成兩套(共四個鍵值對)返回,0和1的序號對,key和value的名-值對,使用其中一套就可以了。
例:
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
while($elements = each($prices)){
echo $elements['key']; //echo $elements[0];
echo " - ";
echo $elements['value']; //echo $element[1];
echo "<br />";
}
輸出結果:
Tires-100
Oil-10
Spank Plugs-4
list()函數遍歷數組
list()函數可以用來將一個數組分解為一系列的值。list()常與each()一起使用。但是list()也可以不與each()一起使用,例如:list($key, $value) = explode(":", $v);
list($key, $value) = each($array); //$key,$value可以任意命名變量名
該句是將each返回的數組當前的0,1位置的元素賦值給$key,$value變量。
例:
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
while(list($product, $prices) = each($prices)){
echo $product "-" $prices;
echo "<br />";
}
輸出結果:
Tires-100
Oil-10
Spank Plugs-4