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"