each()函數需要一個數組作爲傳遞的參數,返回數組中當前元素的鍵值對,並逐一向後移動數組的指針到下一個元素的位置。鍵值對返回爲帶有4個元素的關聯和索引混合的數組,鍵名分別爲 0 , 1 ,key ,value 。其中鍵名0和key對應的值是一樣的,都是數組元素的鍵名,1和value則包含有數組元素的值。如果內部指針越過了數組的末端,則each()返回false。
例:
<?php
$people = array("ID"=>1,"姓名"=>"某某","公司"=>"aaa","地址"=>"北京");
print_r (each($people)); //輸出Array ( [1] => 1 [value] => 1 [0] => ID [key] => ID )
echo "</br>";
print_r (each($people)); //輸出Array ( [1] => 某某 [value] => 某某 [0] => 姓名 [key] => //姓名 )
echo "</br>";
print_r (each($people)); //Array ( [1] => aaa [value] => aaa [0] => 公司 [key] => 公司 )
echo "</br>";
print_r (each($people)); //Array ( [1] => 北京 [value] => 北京 [0] => 地址 [key] => 地址 )
echo "</br>";
var_dump(each($people)); //此處應該輸出boolean false
echo "</br>";
?>
list()函數:
list()函數並不是真正的函數,而是php的語言結構。list()函數只能夠用於數字索引的數組並且假定索引從0開始。list()函數在使用上與其他函數不同,並不是直接接收一個數組作爲參數,而是通過”=“運算符以賦值的方式,將數組中的每一個元素的值,對應的賦值給list()函數中的參數。list()參數又將它中的每一個參數轉換爲直接在腳本中使用的變量。
語法格式:
list(mixed varname,mixed。。。) = array_expression
例:
<?php
$content = array("今年","北京");
list( ,$address)=$content;
echo " $address 霧霾好大 "."</br>";
list($new,$address)=$content;
echo " $new 的 $address 霧霾好大 "."</br>";
?>
while循環遍歷數組:
<?php
$people = array("ID"=>1,"姓名"=>"某某","年齡"=>"22","地址"=>"北京市");
echo "<dl>一個聯繫人信息:";
while( list($key,$value) = each($people)){
echo "<dd>$key : $value </dd>";
}
echo "</dl>";
?>
使用數組的內部指針控制函數遍歷數組:
current() 取得目前指針位置的內容
key() 讀取目前指針指向資料的索引值
next() 將數組中內部指針移動到下一個單元
prev() 將數組的內部指針倒回一位
end() 將數組的內部指針指向最後一個元素
reset() 將目前指針無條件移至第一個索引位置
原文地址鏈接:http://jellytimes.com