Из разряда «на заметку программисту». Есть такие вещи, о которых знаешь что они есть, но забываешь конкретную реализацию, когда доходит до использования. Именно так обстоит дело с тем, что описано в заголовке. Т.е. у нас есть переменная, где хранится имя свойства объекта, и нужно прочитать значение этого свойства. А возникает ситуация, когда нам нужно предварительно вычислить это имя свойства объекта, а потом уже к нему обратиться.
Первый вариант
Можно экземпляр объекта/класса обратить в массив и обращаться к его свойствам как элементам массива.
|
|
$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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 29, 2016 г.
Я иногда ссылаюсь на данную утилиту в примерах. Выкладываю её код и примеры использования.
Примеры использования.
Я привожу пример экспорта статей с одного из своих рабочих проектов - delovoymir2003.ru. Я выполнял программирование и переносом публикаций ...
Читать
Ноябрь 19, 2019 г.
При создании расписаний, календарей, и т.п. могут возникать задачи вроде - получить timestamp первого дня этого месяца, или последнего дня следующего и т.п.
В лоб это решается вот так:
[crayon-6adb2c704d416514303023/]
Со следующим месяцем ...
Читать
Август 27, 2020 г.
Для логгирования иногда важно не только записать какое то сообщение, но также указать - где именно произошло событие в скрипте. Давайте посмотрим, как можно получить номер строки и имя файла в PHP.
Данная информация может быть предоставлена php ...
Читать
Ноябрь 11, 2015 г.
Досрочно закончить исполнение цикла в PHP можно разными способами. Хотя конструкций циклов в PHP много, но принципы одинаковые. Для примера будем использовать цикл for.
[crayon-6adb2c704d630739912561/]
Цикл досрочно завершится с помощью оператора break ...
Читать
Спасибо!!!
Очень помогло
оч круто!