У меня есть переменная $ entry, для которой установлено значение:
stdClass Object ([im: name] => stdClass Object ([label] => Amazing Breaker) и т. д.
Как я могу получить доступ к значению «Amazing Breaker»?
Я попытался определить константу:
define("IMNAME", 'im:name');
но используя:
foreach ($json_output->feed->entry as $entry) { if (isset($entry->IMNAME->label))
возвращает FALSE.
Проблема – это двоеточие. Для ключа без двоеточия код вернет TRUE.
Вы можете использовать синтаксис свободной формы с фигурными фигурными скобками для имен специальных символов:
if (isset($entry->{'im:name'}->label))
Фигурные скобки!
echo $Node->{'im:name'}->label;
В принципе, мы используем переменную Variable .
Оберните IMNAME
с фигурными фигурными скобками:
if (isset($entry->{IMNAME}->label))
Это связано с тем, что имена переменных в PHP не могут содержать двоеточие или двойную двоеточие. См. http://www.php.net/manual/en/language.variables.basics.php для получения дополнительной информации.
Есть ли
$entry->{IMNAME}->label
Работа?