PHP двоеточие в имени свойства
у меня есть переменная $entry, которая установлена в:
stdClass объект ( [im: name] => объект stdClass ( [label] => удивительный выключатель ) так далее.
Как я могу получить доступ к значению "невероятный Разрушитель"?
Я попытался определить константу:
define("IMNAME", 'im:name');
но, используя:
foreach ($json_output->feed->entry as $entry) {
if (isset($entry->IMNAME->label))
возвращает FALSE.
проблема, похоже, в двоеточии. Для ключа без двоеточия код будет вернуть true.
4 ответов
вы можете использовать синтаксис свободной формы с фигурными скобками для "специальных" имен свойств:
if (isset($entry->{'im:name'}->label))
это связано с тем, что имена переменных в PHP не могут содержать двоеточие или двойное двоеточие. См.https://php.net/manual/language.variables.basics.php для получения дополнительной информации.
тут
$entry->{IMNAME}->label
работы?