вызов динамического свойства

#php

#php

Вопрос:

есть ли более короткий способ достичь следующего:

 $i = 1;
$prop = 'image' . $i;
$image = $this->getObject->$prop;
  

Я имею в виду, что было что-то вроде

 $image = $this->getObject->image{$i};
  

есть идеи?

Комментарии:

1. прочитайте это php.net/manual/en/function.call-user-func.php

Ответ №1:

Как насчет:

 $this->getObject->{'image'.$i};
  

Комментарии:

1. я думаю, что это не ярлык

2. работает как по волшебству. у вас есть идея достичь того же, но с помощью метода?

3. @Flask: Вы имеете в виду доступ к методу объекта? Это работает таким же образом, вам просто нужно добавить скобку для вызова метода. Но тогда call_user_func то, что предложил @diEcho, могло бы быть лучше.

Ответ №2:

Лучшим решением было бы создать массив из всех изображений, а затем вызвать его следующим образом:

 $this->getObject->image[$i]
  

Это будет быстрее, и часто с ним намного проще работать, чем с кучей разных переменных.