例
| 代码如下 | 复制代码 |
|
<?php |
|
开始运行foreach第一次,这时 $key='a';$value='网上';
输出后第二次运行 这时 $key='b';$value='朋友';
输出后第三次运行 这时 $key='c';$value='其它';
这时数组已经到了尾部,退出循环
例
| 代码如下 | 复制代码 |
|
<? 1,"two"=>2,"three"=>3,"four"=>4); $array2=array(5,6,7,8); ?> 结果是 $array1=array("one"=>1,”two”=>2,”three”=>3,”four”=>4); $array2=array(5,6,7,8); ?> |
|
为了便于理解,我们假定这里的$array是一个一维的相关数组,$key是数组的索引,$value是这个索引的值,它们的名字可以随意,之所以叫$key和$value是为了便于理解。为了能让你更好的理解foreach的工作过程,我们来创建一个数组:
$array = array('first'=>'ibm','second','hp');
现在我们模拟PHP服务用foreach对$array进行遍历:
| 代码如下 | 复制代码 |
| foreach ($array as $key=>$value) { echo $key.'=>'$value; } |
|
第一次循环,$key = 'first',$value = 'ibm',这个时候,实际foreach对$array执行了一个我们看不见的操作
foreach循环中使用引用要注意
发现了一个容易出错,但是不懂得原理却解释不明白的问题
| 代码如下 | 复制代码 |
| foreach ($array as &$row) { $row = explode(‘/’, $row); } foreach ($array as $row) { //do something } |
|
这么写,在第二个循环会出逻辑错误,加入第二个循环中do something的地方是输出$row,循环到最后一个的时候的输出是倒数第二个元素,而不是最后一个
要这么写
| 代码如下 | 复制代码 |
|
foreach ($array as &$row) { 或者第一个循环这么写 foreach ($array as $key => $row) { |
|
武林闲侠t0阵容一览 阵容强度排行榜
Tplink路由器管理界面无法进入(如何解决Tplink路由器管理界面无法进入的问题)
如何通过Tplink路由器App添加设备(Tplink路由器App添加设备指南)
Tplink路由器App禁用设备功能详解(Tplink路由器App禁用设备查看指南)
如何正确安装Tplink路由器(Tplink路由器安装指南)
TPLink F80E路由器是哪个年代的产品(TPLink F80E路由器的生产年份是什么)