gpt4 book ai didi

PHP中foreach循环中使用引用要注意的地方

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP中foreach循环中使用引用要注意的地方由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

代码如下

foreach ($array as &$row) {  $row = explode('/', $row);  }  foreach ($array as $row) {  //do something  }  。

这么写,在第二个循环会出逻辑错误,加入第二个循环中do something的地方是输出$row,循环到最后一个的时候的输出是倒数第二个元素,而不是最后一个  要这么写  。

复制代码代码如下

foreach ($array as &$row) {  $row = explode('/', $row);  }  unset($row);  foreach ($array as $row) {  //do something  }  。

或者第一个循环这么写  。

复制代码代码如下

foreach ($array as $key => $row) {  $array[$key] = explode('/', $row);  }  。

说一下原理  第一个循环使用了引用,循环结束后,$row引用的是$array数组的最后一个元素,当开始第二个循环的时候,$row变量每次循环都会被赋一个新值,在php中,如果一个内存空间是被引用的,那么当改变它的时候是直接改变这块内存空间的值,也就是说,当第二个foreach的第一次循环,$array的最后一个元素的值就被改变为$array的第一个元素的值,第二次循环的时候,改变为第二个元素的值,倒数第二次循环的时候,被改变为倒数第二个元素值,而最后一次循环的时候得道的值必然是那个倒数第二个值  当然,如果php的for循环有作用域的话,也不会出现此问题..... 。

最后此篇关于PHP中foreach循环中使用引用要注意的地方的文章就讲到这里了,如果你想了解更多关于PHP中foreach循环中使用引用要注意的地方的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com