array|false each(array &$array)
返回包含 4 個鍵的數組:
[
1 => value, // 值
'value' => value, // 值(別名)
0 => key, // 鍵名
'key' => key, // 鍵名(別名)
]
指針已移至下一個元素;若越界返回 false。
$foo = ['bob', 'fred', 'jussi'];
$bar = each($foo);
print_r($bar);
/* 輸出:
Array
(
[1] => bob
[value] => bob
[0] => 0
[key] => 0
)
*/
$fruit = ['a' => 'apple', 'b' => 'banana', 'c' => 'cranberry'];
reset($fruit); // 確保指針在首部
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
/* 輸出:
a => apple
b => banana
c => cranberry
*/
foreach。each() 會改變數組內部指針,嵌套循環或多次遍歷前需 reset()。list() 解構賦值是早期 PHP 遍歷關聯數組的標準寫法。// 推薦:foreach(不影響指針,語法清晰)
foreach ($fruit as $key => $val) {
echo "$key => $val\n";
}
// 僅需鍵名
foreach (array_keys($fruit) as $key) { ... }
// 僅需值
foreach ($fruit as $val) { ... }