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