复制代码 代码如下:
foreach ($array as &$row) {
$row = explode(‘/’, $row);
}
foreach ($array as $row) {
//do something
}
这么写,平静的生活在第二个循环会出逻辑错误,加入第二个循环中do something的地方是输出$row,循环到最后一个的时候的输出是倒未来图书馆数第二个元素,而不是最后一个
要这么写
复制代码 代码如下:
foreach ($array as &$row) {
$清明祭英烈寄语大全row = explode(‘/’, $row);
}
unt($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循环有作用域的话,也不会出现此问题…..
本文发布于:2023-04-06 11:51:23,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/7f98a3ef4c5a135f46c16e9038c27e2e.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP中foreach循环中使用引用要注意的地方.doc
本文 PDF 下载地址:PHP中foreach循环中使用引用要注意的地方.pdf
留言与评论(共有 0 条评论) |