foreach ($car['cartList'] as &$shop) { } // 这里不释放会影响下面的$shop ,因为引用无法再正常使用 unset($shop); // 这里下面的循环$shop无法正常工作,因为上面$shop成为引用了 foreach ($car['cartList'] as $shop) { }
&$item
要特别注意,遍历完必须马上 unset
否则就是一颗炸弹,对业务造成威胁,这种造成的业务错误往往很难排查!
所以不关紧要的变量需要提早释放,这是一个好的习惯,必须严格遵守,不是因为获得最大性能,而是因为可以减少这种难以预见,将来潜在的错误。
评论