同じ配列内で以前に定義したキーの値にアクセスできるかどうかを調べています。
何かのようなもの:
$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
これを何度も行う必要がある場合は、関連するすべてのキーが評価されるまで解析する必要があることをクラスコンストラクターにフラグする特定の形式のキーを取るクラスを作成できます。