Из разряда «на заметку программисту». Есть такие вещи, о которых знаешь что они есть, но забываешь конкретную реализацию, когда доходит до использования. Именно так обстоит дело с тем, что описано в заголовке. Т.е. у нас есть переменная, где хранится имя свойства объекта, и нужно прочитать значение этого свойства. А возникает ситуация, когда нам нужно предварительно вычислить это имя свойства объекта, а потом уже к нему обратиться.
Первый вариант
Можно экземпляр объекта/класса обратить в массив и обращаться к его свойствам как элементам массива.
|
|
$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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июнь 5, 2017 г.
Пробовали ли вы использовать функции PHP, требующие указания кол-бек функции в качестве аргумента? Я часто пользуюсь preg_replace_callback().
Если функция вызывается внутри класса, то хотелось бы и callback разместить внутри этого же класса (объекта). ...
Читать
Сентябрь 15, 2017 г.
Чтобы измерить скорость работы кода нужны две вещи - "код" и секундомер. Программный код у вас есть, а секундомер, оформленный в виде класса - можете взять здесь.
Очень простой, основанный на функции microtime(), секундомер скрывает рутину по сохранению ...
Читать
Апрель 30, 2018 г.
Получение данных из формы на PHP - одна из типовых задач. И если большинство полей не вызывает каких то сложностей с обработкой на входе, то поле для загрузки файлов - может оказаться крепким орешком для начинающего разработчика.
Все проблемы возникают ...
Читать
Апрель 23, 2017 г.
Предлагаю код очень простой функции-парсера атрибутов из кусочков html кода. Основное назначение - разбирать текст short-codes.
На входе: html код или shortcode.
На выходе: имя тега и набор атрибутов. Если ничего подходящего не найдено - получим ...
Читать
Спасибо!!!
Очень помогло
оч круто!