我想訪問並將值分配給私有靜態類屬性,並且我想使用「變量變量」的概念進行賦值。訪問作品,但分配不起作用。我曾嘗試以下內容:將值分配給變量私有靜態類屬性,該屬性是類內定義的數組
class AClass {
private static $testArray = array();
public static function aFunction() {
$key = 'something';
$arrayName = 'testArray';
$array = self::$$arrayName;
// accessing:
$value = $array[$key]; // This works, $value holds what self::testArray['something'] holds.
// assigning:
// version 1:
$array[$key] = $value; // No error, but self::testArray['something'] does not get updated
// version 2:
self::$$arrayName[$key] = $value; // Error
}
}
另外:我有一些麻煩提出了一個精確和簡潔的標題。如果你覺得你理解我的問題,並可以想出一個更好的標題,請認爲它!
對於第1版,你的數組可能是靜態數組的一個副本,因此分配將只在本地副本。對於第二版,你是否嘗試過類似'self :: $ {$ arrayName} [$ key]'?我認爲在優先順序上有失敗 – MatRt
@MatRt:我沒有嘗試過它,它的工作!非常感謝。如果你把它寫成一個,我會接受它作爲答案。另外:爲什麼這個工作?我以爲我知道php很好,但我從來沒有見過類似的東西。 – DudeOnRock
添加了我的評論,你可以標記你的最佳答案。繼續... :) – MatRt