foreach

foreach 語句用於迴圈遍歷陣列。

對於每次迭代,將當前陣列元素的值分配給 $value 變數,並將陣列指標移動一個,並在下一次迭代中處理下一個元素。

以下示例顯示分配的陣列中的專案。

$list = ['apple', 'banana', 'cherry'];

foreach ($list as $value) {
    echo "I love to eat {$value}. ";
}

預期的輸出是:

I love to eat apple. I love to eat banana. I love to eat cherry. 

你還可以使用 foreach 訪問值的鍵/索引:

foreach ($list as $key => $value) {
    echo $key . ":" . $value . " ";
}

//Outputs - 0:apple 1:banana 2:cherry

預設情況下,$value$list 中值的副本,因此在迴圈內所做的更改將不會在 $list 中反映出來。

foreach ($list as $value) {
    $value = $value . " pie";
}
echo $list[0]; // Outputs "apple"

要修改 foreach 迴圈中的陣列,請使用 & 運算子通過引用分配 $value。之後改變變數非常重要,這樣在其他地方重用 $value 就不會覆蓋陣列。

foreach ($list as &$value) { // Or foreach ($list as $key => &$value) {
    $value = $value . " pie";
}
unset($value);
echo $list[0]; // Outputs "apple pie"

你還可以通過引用當前項的陣列鍵來修改 foreach 迴圈中的陣列項。

foreach ($list as $key => $value) {
    $list[$key] = $value . " pie";
}
echo $list[0]; // Outputs "apple pie"