Как мне получить значение элемента объекта, имеющего канал?

#php

#php

Вопрос:

Учитывая этот объект, как мне вывести значение pipe|title?

 stdClass Object
(
    [profile|title] => John Doe
)
  

Я никогда раньше не видел канала в имени элемента.

Ответ №1:

Вы можете использовать фигурные скобки и поместить имя поля в строку:

 $obj->{'profile|title'}
  

Комментарии:

1. Большое вам спасибо. Я всегда забываю об универсальных объектах в сравнении с массивами.

Ответ №2:

Вы можете использовать

 $obj->{'profile|title'}
  

Поскольку вы просто используете его как глупое хранилище данных, вы также можете преобразовать его в массив

 $arr = (array) $obj;
$arr['profile|title'];
  

Это было бы более полезно, если вы используете много значений из него таким образом или вам нужно выполнить итерацию по нему.