在php中可以用來遍歷數組的函數有很多,如有:for語句、list、each、foreach這四個函數,這也是在php中遍歷數組的幾個主要的函數,下面我來給大家介紹。
foreach遍歷數組
我們在運用數組時,常常要遍歷數組並獲得各個鍵或者元素值,php提供了一些專門遍歷數組的函數。這裡先介紹foreach遍歷數組函數的用法。
結構形式:
復制代碼 代碼如下:
foreach ( array_expression as $value ) statement
/* array_expression是要遍歷的數組
as作用是將數組的值賦給$value
statement是後續語句
*/
實例1:
復制代碼 代碼如下:
'白色' ,
'black' => '黑色' ,
'red' => '紅色' ,
'green' => '綠色',
'yellow' => '黃色');
foreach( $color as $c) echo $c ."
";
?>
通過foreach不僅可以獲得元素的值也可以獲得鍵名,結構形式:
復制代碼 代碼如下:foreach ( array_expression as $key => $value ) statement
將以上實例中第7行的代碼:
復制代碼 代碼如下:foreach( $color as $c) echo $c ."<br>";
改為:
復制代碼 代碼如下:foreach( $color as $key => $c) echo $key.$c ."<br>";
each遍歷數組
遍歷數組是php數組操作一個重要的環節,除了前面提到的foreach函數,這裡再介紹一個遍歷數組的函數-each()。
用each()函數可以輸出當前指針位置的鍵名和對應的元素值。可以使用”0″或”key”來訪問鍵名(標識符),用”1″或”value”訪問標識符對應的值。
實例:
復制代碼 代碼如下:
<?php
$languages=array(1=-->"php",
5=>"html",
10=>"css");
$a=each($languages); /* 第一次遍歷數組 */
echo $a[0] ."t";
echo $a[1] ."<br>";
$a=each($languages); /* 第二次遍歷數組 */
echo $a[key] ."t";
echo $a[value];
?>
list遍歷數組
函數list可以在遍歷數組時一次賦給變量,通常和each()函數配合使用。用list()函數使訪問each()返回的鍵和值變得更加簡單了。
實例:
復制代碼 代碼如下:
<?php
$date=array(1=-->"Monday",
2=>"Tuesday",
3=>"Wednesday");
list($key,$value)=each($date); /* 遍歷函數 */
echo "$key $value" ."<br>"; /* 輸出第一個數組 */
$next=next($date); /* 指針後移 */
echo "$next";
?>
ps:list()函數剛好與array()函數相反,array()將一系列數據構造成數組,而list()則將數組拆分成數據。
for遍歷數組
除了php預定義的一些遍歷數組函數,我們還可以利用for語句的循環特性將數組遍歷輸出。下面給出例子:
復制代碼 代碼如下:
<?php
$a[]="張學友"; /* 定義數組 */
$a[]="劉德華";
$a[]="黎明";
$a[]="郭富城";
$s=count($a); /* 統計數組個數 */
for($i=0;$i<$s;$i++){ /* 遍歷數組 */
echo $a[$i] ."<br /-->"; /* 顯示數組 */
}
?>