1

我正在寻找是否可以访问我之前在同一个数组中定义的键的值。

就像是:

$test = array(
    'foo' => 1,
    'bar' => $test['foo']
);

我知道在初始化后我总是可以这样做,我只是想知道在初始化期间是否有可能?

4

1 回答 1

0

不,$test在评估完整的构造函数之前不存在。

例如:http ://codepad.viper-7.com/naUprJ

Notice: Undefined variable: test..
array(2) { ["foo"]=> int(1) ["bar"]=> NULL }

这可能是最好的。想象一下这个工作:

$test = array('foo' => $test['foo']); // mwahaha

如果您经常需要这样做,您可以创建一个类,该类采用特定格式的键,该键向类构造函数标记,它应该被解析,直到所有相关键都被评估。

于 2012-06-20T20:44:17.600 回答