Из разряда «на заметку программисту». Есть такие вещи, о которых знаешь что они есть, но забываешь конкретную реализацию, когда доходит до использования. Именно так обстоит дело с тем, что описано в заголовке. Т.е. у нас есть переменная, где хранится имя свойства объекта, и нужно прочитать значение этого свойства. А возникает ситуация, когда нам нужно предварительно вычислить это имя свойства объекта, а потом уже к нему обратиться.
Первый вариант
Можно экземпляр объекта/класса обратить в массив и обращаться к его свойствам как элементам массива.
|
|
$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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 7, 2013 г.
Эта задача из разряда useability. Drupal может штатно создавать блоки вертикальных иерархических меню.
Неудобным будет тот случай, когда мы хотим попасть на страницу в глубине иерархии этого меню. Нам придется последовательно заходить на родительские ...
Читать
Март 2, 2017 г.
Посмотрим как можно сформировать url относительно текущего местоположения файла в php.
К примеру, у в каталоге /site-script/ находится программа на PHP и подкаталог /site-script/img, где хранятся картинки.
Требуется построить относительный ...
Читать
Июнь 18, 2018 г.
Итак, как перевести ассоциативный массив в XML? Воспользуемся "родным" для PHP классом SimpleXMLElement.
В качестве основного контейнера используем тег <values/>, а установить UTF-8 кодировку нам поможет небольшая хитрость. Инициализация ...
Читать
Ноябрь 13, 2015 г.
Пример хелпера-валидатора на PHP для проверки формата ip адреса.
[crayon-6a5e58e54e5dd395593185/]
Функция проверяет является ли формально строка ip-адресом по протоколам ipv4 или ipv6. Возвращает булево значение.
Возможно применение этого кода ...
Читать
Спасибо!!!
Очень помогло
оч круто!