PHP:关联数组中的匿名函数可以访问数组的其他成员吗?

在以下示例中,是否可以从匿名函数中访问“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'];
  }
);
点赞