PHP: установить свойства массива класса со строкой в ​​качестве имени свойства - PullRequest
1 голос
/ 17 мая 2011

У меня есть класс со свойством, которое является массивом:

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

  $obj = new NewObject();

  $obj->Props[0] = 'a';
  $obj->Props[1] = 'b';

Теперь я хочу изменить значения Props не напрямую, а с помощью переменной 'propertyname': Это работает для свойств одной строки, но не для массивов, потому что ключ N интерпретируется как N-я буква STRING 'Props' вместо 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 Ответ

5 голосов
/ 17 мая 2011
$obj->{$propertyname}[0] ='c';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...