Как получить доступ к свойству объекта фигурной скобки php

Возможный дубликат:
Как для доступа к свойствам объекта с именами, подобными целым числам?

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

person Bossliaw    schedule 10.01.2011    source источник


Ответы (1)


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

person eyelidlessness    schedule 10.01.2011