自执行函数模拟块作用域

Original 2019-03-19 14:28:51 322
abstract:<?phpfunction test(){$fun = function(){$arr = [12,13,22,33,44,55];for($i=0;$i < count($arr);$i++){for($j=$i+1;$j < count($arr);$j++){if($arr[$i] &

<?php

function test(){

$fun = function(){

$arr = [12,13,22,33,44,55];

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>';

}

test();

//借鉴了一部门其他同学的代码


Correcting teacher:天蓬老师Correction time:2019-03-19 15:41:19
Teacher's summary:匿名函数也可以有名字的, 只是这个名字只能在内部用

Release Notes

Popular Entries