PHP 前言

示例

该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 . " ";
}

//输出-0:苹果1:香蕉2:樱桃

默认情况下,$value是的值的副本$list,因此循环内所做的更改不会在$list以后反映出来。

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

要在foreach循环中修改数组,请使用&运算符$value按引用分配。unset此后对变量很重要,以便在$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"