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"