PHP:使用字符串作为属性名设置类数组属性

时间:2011-05-17 00:55:22

标签: php arrays class properties

我有一个带有数组属性的类:

  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';

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:5)

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