У меня есть большой список свойств, которые мне нужно отобразить между двумя объектами, и в одном из них значение, которое мне нужно отобразить, скрыто внутри массива. Я надеюсь избежать жесткого кодирования имен свойств в коде.
Если у меня есть такой класс:
class Product {
public $colors, $sizes;
}
Я могу получить доступ к таким свойствам:
$props = array('colors', 'sizes');
foreach ($props as $p) {
$this->$p = $other_object->$p;
}
Насколько я могу судить, если каждое из свойств слева является массивом, я не могу сделать это:
foreach ($props as $p) {
$this->$p[0]['value'] = $other_object->$p;
}
Это правильно, или я упускаю какой-то умный способ обойти это?
(Это в друпе, но я не думаю, что это имеет значение.)