Как получить доступ к объекту php curly brace object
Возможный дубликат:
Как получить доступ к свойствам объекта с именами, такими как целые числа?
print_r($myObj)
дает следующий результат:
stdClass Object
(
[4021450] => stdClass Object
(
[property1] => ooo
[property2] => xxx
)
[3971601] => stdClass Object
(
[property1] => 123
[property2] => 356
)
)
Как я могу использовать синтаксис фигурной фигурной скобки с переменной для доступа к sub-object
?
Я пробовал:
$myObj->'3971601'; // Parse error: syntax error
$myObj->{'3971601'}; // Works
$id = 3971601; $myObj->{$id}; // Notice: Trying to get property of non-object
$id = 3971601; $myObj->{''.$id}; // Notice: Trying to get property of non-object
$arr = (array)$myObj; $arr[3971601]; // Notice: Undefined offset: 3971601
$arr = (array)$myObj; $arr['3971601']; // Notice: Undefined index: 3971601
Ответы
Ответ 1
Вы должны полностью опустить фигурные фигурные скобки: $myObj->$id
. Однако ваши последние 4 примера указывают на то, что что-то не так. Кажется, что где-то вдоль линий, $myObj
был установлен null
или для некоторого другого значения, отличного от объекта.