UNPKG

manual-php

Version:
67 lines (45 loc) 1.32 kB
# foreach `foreach` 语法结构提供了遍历数组的简单方式。 `foreach` 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。第一种格式遍历给定的数组。每次循环中,当前单元的值被赋给 `$value` 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。 ```php <?php $foo = [2, 4, 5]; foreach ($foo as $value) { // } ``` 第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 `$key` 。 ```php <?php $foo = [2, 4, 5]; foreach ($foo as $key => $value) { // } ``` 可以通过引用来修改数组的元素。 ```php <?php $foo = [2, 4, 5]; foreach ($foo as &$value) { $value += 1; } unset($value); var_dump($foo); // array(3) { [0]=> int(3) [1]=> int(5) [2]=> int(6) } ``` 还可以通过嵌套 `foreach` 语法结构来遍历多维数组。 ```php <?php $foo = [[2], [4], [5]]; foreach ($foo as $value) { foreach ($value as $v) { // } } ``` PHP 可以遍历一个数组的并且把多维数组解包到循环变量中,只需将 `list()` 作为值提供。 ```php <?php $foo = [['foo', 'bar'], ['baz', 'qux']]; foreach ($foo as list($a, $b)) { // } ```