Из разряда «на заметку программисту». Есть такие вещи, о которых знаешь что они есть, но забываешь конкретную реализацию, когда доходит до использования. Именно так обстоит дело с тем, что описано в заголовке. Т.е. у нас есть переменная, где хранится имя свойства объекта, и нужно прочитать значение этого свойства. А возникает ситуация, когда нам нужно предварительно вычислить это имя свойства объекта, а потом уже к нему обратиться.
Первый вариант
Можно экземпляр объекта/класса обратить в массив и обращаться к его свойствам как элементам массива.
|
|
$object = new MyObject(); $property_name = 'propertyName'; ... $objArray = (array) $object; $value = $objArray[$property_name]; |
Второй вариант
«Вспомним» редко используемый синтаксис обращения к свойствам объекта. Тот же пример будет выглядеть так:
|
|
$object = new MyObject(); $property_name = 'propertyName'; ... $value = $object->{$property_name}; |
Данная запись опубликована в 12.12.2013 14:56 и размещена в рубрике PHP.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Январь 26, 2016 г.
В версии PHP 5 мы получили возможность использовать конструктор класса, специальную функцию, объявляемую в классе, которая служит для инициализации экземпляра объекта. К сожалению, конструкторы, как и остальные методы класса в PHP, не могут быть "перегружены". ...
Читать
Август 27, 2018 г.
У instagram есть API, который устареет до конца 2018 года. Всех пересаживают на новую платформу - Instagram Graph API.
Регистрация приложения на этой ...
Читать
Октябрь 28, 2022 г.
Задача - заменить первое/последнее искомое значение в заданной строке.
В PHP много уделяется внимания работы со строками, но вот оптимального решения для этой задачи нет.
Функция str_replace, заменяет все значения, но может посчитать вам сколько ...
Читать
Сентябрь 7, 2013 г.
Эта задача из разряда useability. Drupal может штатно создавать блоки вертикальных иерархических меню.
Неудобным будет тот случай, когда мы хотим попасть на страницу в глубине иерархии этого меню. Нам придется последовательно заходить на родительские ...
Читать
Спасибо!!!
Очень помогло
оч круто!