abstract:PHP虽然不受块作用域的影响,但还是会有一定的坑,比如:<?php $arr = [ 1, 2, 4]; foreach ($arr as $val){ $sum+=$val;} var_dump
PHP虽然不受块作用域的影响,但还是会有一定的坑,比如:
<?php
$arr = [ 1, 2, 4];
foreach ($arr as $val){
$sum+=$val;
}
var_dump($val,$sum);
exit;
?>
输出的是:
int(4);
int(7);
这里就是因为foreach循坏内的$val和$sum变量实质已经推出循环了,但是打印出来还是会显示变量存在,原因就是因为PHP有函数作用域,但是没有块级作用域,这样建议在每次使用变量的情况下都初始化一下,能够比较好的预防坑。
Correcting teacher:天蓬老师Correction time:2019-05-28 16:37:56
Teacher's summary:作用域, 影响到变量或标识符的可见性, 很重要的