Доступ к значению свойства как строкового литерала в PHP - PullRequest
11 голосов
/ 07 января 2011

Хорошо, я переучиваю php для небольшого домашнего проекта и сталкиваюсь с проблемой, поэтому вот быстрый для всех экспертов php:

Я создал абстрактный класс, который должен обращаться к свойствам YQL. Yahoo возвращает объекты JSON, декодированные в объекты PHP. Допустим, я хочу получить доступ к свойству id, тогда мне действительно нужно это право:

print($phpObject->id);  // Okay

Но я хочу иметь возможность получить доступ к свойству более абстрактным образом, то есть что-то вроде этого:

$propertyName = 'id';
print($phpObject[$propertyName]); 
print($phpObject["id"]);    

Но ничего из вышеперечисленного не работает - я уверен по очевидным причинам, но я не эксперт по PHP, мне трудно разобраться с этим вызовом. Пожалуйста, помогите мне здесь.

Ответы [ 2 ]

24 голосов
/ 07 января 2011
$propertyName = 'id';

print($phpObject->{$propertyName});
1 голос
/ 07 января 2011

Вам нужно использовать ArrayObject для доступа к нему как к массиву.

...