2011-05-17 156 views
1

我有是一個數組屬性的類:PHP:用字符串作爲PROPERTYNAME設置類數組屬性

class NewObject { 
    public $Props = array(); 
    } 

    $obj = new NewObject(); 

    $obj->Props[0] = 'a'; 
    $obj->Props[1] = 'b'; 

現在我想改變的道具,沒有直接的價值,但有變量'propertyname': 這樣做可以處理單個字符串屬性,但不適用於數組,因爲鍵N被解釋爲STRING'Props'的第N個字母,而不是數組中的第N個值!

$propertyname = 'Props'; 

    $obj->$propertyname[0] ='c'; //doesnt work as expected, it tries to set $obj->P now, it seems 
    $obj->$propertyname[1] ='d'; 

有什麼辦法解決這個問題?

回答

5
$obj->{$propertyname}[0] ='c'; 
+0

Thanx ...我知道讚美的事情,但只有在雙引號字符串中,你想使用一個變量......從來沒有見過這樣的... ... – Dylan 2011-05-17 01:09:51