Подтвердить что ты не робот

Как получить доступ к объекту 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
4b9b3361

Ответ 1

Вы должны полностью опустить фигурные фигурные скобки: $myObj->$id. Однако ваши последние 4 примера указывают на то, что что-то не так. Кажется, что где-то вдоль линий, $myObj был установлен null или для некоторого другого значения, отличного от объекта.