1
聲明多維靜態PHP類陣列我刷新我的PHP知識,有一個問題,我不能在我自己解決:錯誤使用靜態類數組
我有兩個私人靜態數組類,我想要存儲爲另一個(多維)靜態類數組的值,但我總是得到*意外的T_VARIABLE *錯誤。這裏是我的失敗simplyfied示例代碼(只是一個而不是兩個靜態數組填寫以下多維數組中):
class MyClass {
private static $firstArr = array('a' => 'A', 'b' => 'B');
private static $multiArr = array('a' => self::$firstArr);
}
我真不明白什麼是錯在這裏。我可以很容易地將self :: $ firstArr替換爲$ firstArr本身的陣列聲明,但我很想理解我在這裏做錯了什麼,無論如何。
因此,歡迎任何評論!
乾杯, 羅馬。
我明白了,聽起來很公平。謝謝你的解釋,我還不知道(這可能意味着我正在做的事情應該以不同的方式完成......)。 – RSeidelsohn 2012-08-12 13:52:53
是的,這有點煩人,當你需要從靜態屬性評估表達式時,你需要將它們放在一個靜態init方法中,例如你可以從類文件本身調用它,或者找到另一個設計。@Mike B你如何管理那實際上? – darma 2012-08-12 13:55:17