abstract:<?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;或者不使用重复的名称。
Correcting teacher:查无此人Correction time:2019-03-25 09:10:52
Teacher's summary:完成的不错。如果真忘记是否使用了同名变量,就在使用前,给变量赋值为空,继续加油