摘要:<?php $arr = [1,2,3,4]; foreach ($arr as $k => &$v) {} print_r($arr); echo '<hr>'; unset($v); foreach ($arr as $k&n
<?php $arr = [1,2,3,4]; foreach ($arr as $k => &$v) {} print_r($arr); echo '<hr>'; unset($v); foreach ($arr as $k => $v) { print_r($arr); echo '<hr>'; } ?>
PHP没有块作用域,第一个foreach后会留下一个危险的引用,第二次foreach就会出现问题。避免的办法就是第一个foreach结束后,unset()掉$v;或者不使用重复的名称。
批改老师:查无此人批改时间:2019-03-25 09:10:52
老师总结:完成的不错。如果真忘记是否使用了同名变量,就在使用前,给变量赋值为空,继续加油