在以下示例中,是否可以从匿名函数中访问“str”值?
$foo = array(
'str' => 'THIS IS A STRING',
'fn' => function () {
// is it possible from within here to access 'str'?
}
);
最佳答案 如果$foo在全局命名空间中定义,你应该能够通过$GLOBALS [‘foo’] [‘str’]访问它(或通过全局$foo;构造使其可用).如果不是(local var,parameter,member variable,…),则必须将它(作为引用!)传递给匿名函数:
$foo = array(
'str' => 'THIS IS A STRING',
'fn' => function () use(&$foo) {
echo $foo['str'];
}
);