maquan 2011年10月19日
【散分】看看错误使用“引用”的恶果,你能看出是为什么吗?
工作中遇到一个 BUG,检查到最后发现是对“引用”的不小心使用导致的,结果是一个 array 的最后两个元素变成相同的了。为了突出主要问题,我把程序的简化形式写在下面。有兴趣的童鞋可以想一想为什么会导致那样的结果。
$list = array(1,2,3);
foreach ( $list as &$item ) {
$a = $item;
}
//unset($item); // 正确的用法,应该是加上这句。
foreach ( $list as $item ) {
$a = $item;
}
var_dump($list); // 输出的是 { 1, 2, 2 ],有趣吧?



————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
...全文
139 点赞 收藏 15
写回复
15 条回复

还没有回复,快来抢沙发~

发动态
发帖子
基础编程
创建于2007-09-28

9731

社区成员

14.0w+

社区内容

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区公告
暂无公告