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 に答える