引用的疑问
程序员文章站
2024-01-31 16:22:10
...
打印:
1, 2, 3, 4
1, 2, 3, 3
在php手册评论中看到的,实在想不明白为什么,求大神解答。
回复讨论(解决方案)
$arr = ['1', '2', '3', '4']; foreach ($arr as &$i) {}echo implode($arr, ', ')."\n"; //1,2,3,4 foreach ($arr as $i) { echo '*' . join(',', $arr), PHP_EOL;}echo implode($arr, ', ')."\n"; //1,2,3,3
1, 2, 3, 4*1,2,3,1*1,2,3,2*1,2,3,3*1,2,3,31, 2, 3, 3在笫二个 foreach 中,由于 $i 是 $arr 最后一个元素的引用
所以你可以看到 $arr 在循环中是变化的
所以 foreach ($arr as &$i) {} 后,应 unset($i); 以切断 $arr 的引用
明白了,谢谢
上一篇: 黑客帝国中机器人追杀人类的故事会成真吗?
下一篇: 比特币暴涨,背后是对高风险数字资产的转移
推荐阅读
-
tcp三次握手的过程,accept发生在三次握手哪个阶段? TCP
-
前端接收后台返回的流下载
-
win10 1909 解析内核句柄表----ObpKernelHandleTable【目前只考虑两层句柄表的解析,因为懒】
-
System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询
-
谈谈sql查询的between_PHP教程
-
sqlserver中的guid的40位数和36位数的获得
-
基于.NET实现的DDD、CQRS与微服务架构的演示案例
-
【转】很多TIME_WAIT连接导致Cannot assign requested address的解决办法
-
TCP与UDP下的socket编程小结
-
一串字符可让iPhone的WiFi崩溃