PHP - 在数组初始化期间从先前定义的密钥访问值


PHP - Access value from previously-defined key during array initialization

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

像这样:

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

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

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

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

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

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

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

如果你需要做很多事情,你可以创建一个类,该类采用特定格式的键,该键向类构造函数标记,在评估所有相关键之前,应对其进行解析。