PHP: foreach | 您所在的位置:网站首页 › php循环变量 › PHP: foreach |
foreach
(PHP 4, PHP 5, PHP 7, PHP 8) foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法: foreach (iterable_expression as $value) statement foreach (iterable_expression as $key => $value) statement第一种格式遍历给定的 iterable_expression 迭代器。每次循环中,当前单元的值被赋给 $value。 第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。 注意 foreach 不会修改类似 current() 和 key() 函数所使用的数组内部指针。 还能够自定义遍历对象。 可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。 警告数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留。建议使用 unset() 来将其销毁。 否则你会遇到下面的情况: 可以通过引用来遍历数组常量的值:
注意: foreach 不支持用 “@” 来抑制错误信息的能力。 示范用法的更多例子: 用 list() 给嵌套的数组解包(PHP 5 >= 5.5.0, PHP 7, PHP 8) 可以遍历一个数组的数组并且把嵌套的数组解包到循环变量中,只需将 list() 作为值提供。 例如: 以上例程会输出: A: 1; B: 2 A: 3; B: 4list() 中的单元可以少于嵌套数组的,此时多出来的数组单元将被忽略: 以上例程会输出: 1 3如果 list() 中列出的单元多于嵌套数组则会发出一条消息级别的错误信息: 以上例程会输出: Notice: Undefined offset: 2 in example.php on line 7 A: 1; B: 2; C: Notice: Undefined offset: 2 in example.php on line 7 A: 3; B: 4; C: |
CopyRight 2018-2019 实验室设备网 版权所有 |