首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP each() 函數詳解:遍歷數組並移動內部指針

     編輯:PHP 綜合知識

語法

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
)
*/

經典搭配:list() + while 遍歷

$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
*/

注意事項

  • PHP 7.2 棄用,PHP 8.0 移除。現代代碼請使用 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) { ... }
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved