我有一个带有数组属性的类:
class NewObject {
public $Props = array();
}
$obj = new NewObject();
$obj->Props[0] = 'a';
$obj->Props[1] = 'b';
现在我想更改Props的值,而不是直接更改,但使用变量'propertyname': 这个DOES适用于单个字符串属性但不适用于数组,因为键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';
有什么方法可以解决这个问题吗?
答案 0 :(得分:5)
$obj->{$propertyname}[0] ='c';