// 使用自执行函数来模拟一个块级作用域(例如for循环结束后,后面的代码不能再访问循环变量) $func = function(){ for($i = 0;$i<10;$i++) {} $test = function() use($i) { return '执行结束了'.$i; }; return $test(); return $i*10; }; echo call_user_func($func);