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

Dyl*_*lan 1 php arrays properties class

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

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

  $obj = new NewObject();

  $obj->Props[0] = 'a';
  $obj->Props[1] = 'b';
Run Code Online (Sandbox Code Playgroud)

现在我想更改Props的值,而不是直接更改,但是使用变量'propertyname':这个DOES适用于单个字符串属性但不适用于数组,因为键N被解释为STRING'道具'的第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';
Run Code Online (Sandbox Code Playgroud)

有办法解决这个问题吗?

zer*_*kms 5

$obj->{$propertyname}[0] ='c';
Run Code Online (Sandbox Code Playgroud)