访问父函数中定义的变量
有没有办法从内部访问?$foo
inner()
function outer()
{
$foo = "...";
function inner()
{
// print $foo
}
inner();
}
outer();
有没有办法从内部访问?$foo
inner()
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();
还是我错过了你试图做的更复杂的事情?
function outer()
{
$foo = "...";
function inner($foo)
{
// print $foo
}
inner($foo);
}
outer();
编辑好吧,我想我明白你想做什么。您可以使用 global 对使用 global 的类执行此操作,但不确定此特定情况