有没有办法从inner()中访问$foo?
function outer()
{
$foo = "...";
function inner()
{
// print $foo
}
inner();
}
outer();
解决方法:
PHP< 5.3不支持闭包,因此你必须将$foo传递给inner()或者从outer()和inner()(BAD)中创建$foo全局. 在PHP 5.3中,您可以这样做
function outer()
{
$foo = "...";
$inner = function() use ($foo)
{
print $foo;
};
$inner();
}
outer();
outer();