使用自执行函数来模拟一个块级作用域(例如for循环结束后, 后面代码不能再访问循环变量)

Original 2019-04-13 12:30:09 239
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:实际上, 这种块级作用域,功能有限, 大多时候, 可以通过创建不同的变量名称来规避的

Release Notes

Popular Entries