以正确的方式访问stdClass对象


Accessing stdClass object the right way?

我有一个stdClass对象,如下所示:

stdClass Object
(
    [0] => stdClass Object
        (
            [id1] => Fri Feb 22 00:02:15 +0000 2013
            [id2] => 21312
            [id3] => 13552412
        )
    [1] => stdClass Object
        (
            [id1] => Fri Feb 22 00:02:15 +0000 2013
            [id2] => 21331
            [id3] => 13495842
        )
)

如何访问ID?我发现了几个类似的问题,但没有一个对我有效。
假设对象存储在$myVar中。

我试过$myVar->0->id1$myVar->id1$myVar->[0]->id1$myVar->['0']->id1$myVar[0]->id1,但都没有成功。

就像我在评论中假设的那样,这个结构看起来从来没有打算被当作一个对象来处理。让json_decode()首先返回一个关联数组,而不是,而不是与对象纠缠

$data = json_decode($json, true);
echo $data[0]['id1'];

您可以使用$myvar->{'0'}->id1

或者你可以先把它铸造成数组,然后:

$arr = (array) $myobj;
$arr[0]->id1;