サマリー:1、示例代碼<?php $arr = [1, 2, 4]; foreach ($arr as $val) { $sum += $val; } var_dump($val,$sum); exit;?>2、輸出int(4)int(7)為什么foreach 循環(huán)內(nèi)的$val和$sum變量已經(jīng)退出循環(huán)了,打印出來還是顯示變量存在?原因是:PHP有函數(shù)作用域,但是沒有
1、示例代碼
<?php
$arr = [1, 2, 4];
foreach ($arr as $val) {
$sum += $val;
}
var_dump($val,$sum);
exit;
?>
2、輸出
int(4)
int(7)
為什么foreach 循環(huán)內(nèi)的$val和$sum變量已經(jīng)退出循環(huán)了,打印出來還是顯示變量存在?原因是:PHP有函數(shù)作用域,但是沒有塊級作用域,沒有C/C++、java等語言的塊級作用域概念。
3、避免方法
不同作用域的變量怕重名。沒有塊作用域,但把塊寫短一點(diǎn),避免無意識的重名,便于觀察;把長的塊寫成函數(shù),就有局部作用域了。
添削の先生:韋小寶添削時(shí)間:2019-03-14 15:33:59
先生のまとめ:寫的還是沒有毛病的 好好研究研究 多去實(shí)現(xiàn)點(diǎn)效果