0

この質問と同様に 、静的変数(配列)を動的に呼び出します が、変数への書き込み用です。

コンストラクターでいくつかの静的配列を初期化しようとしていますが、それらの名前を動的にコーディングする方法がわかりません。

私がこれを試すとき:

class MyClass {
    public static $something1 = array();
    public static $something2 = array();

    function __construct() {
        for( $i = 1; $i <= 2; $i++ ){
            $arr = "something{$dynamic}";
            self::$$arr[] = "a new element";
        }
    }
}

コンストラクターを呼び出さなくても、このエラーが発生します。

Fatal error: Cannot use [] for reading

evalを使用せずにこれを達成する方法はありますか?PHP5.4を使用しています。

4

1 に答える 1

3

これを試して:

self::${$arr}[] = 'a new element';

中括弧は、$

于 2013-01-08T22:02:20.923 に答える