abstract:<?php// 使用自执行函数来模拟一个块级作用域(例如for循环结束后, 后面代码不能再访问循环变量)function zuoye(){$fun = function(){$arr = [6,12,5,23,100,3];for($i=0;$i < count($arr);$i++){for($
<?php
// 使用自执行函数来模拟一个块级作用域(例如for循环结束后, 后面代码不能再访问循环变量)
function zuoye(){
$fun = function(){
$arr = [6,12,5,23,100,3];
for($i=0;$i < count($arr);$i++){
for($j=$i+1;$j < count($arr);$j++){
if($arr[$i] > $arr[$j]){
$temp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $temp;
}
}
}
var_dump($arr);
};
$fun();
echo isset($temp)? '能访问作用域内的循环变量' : '不能访问作用域内的循环变量'.'<hr>';
}
zuoye();
Correcting teacher:天蓬老师Correction time:2019-04-13 16:44:32
Teacher's summary:实际上, 这种块级作用域,功能有限, 大多时候, 可以通过创建不同的变量名称来规避的