2011-05-17 61 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