2013-02-23 48 views
2

我有一個stdClass的對象,看起來像這樣:以正確的方式訪問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但都沒有成功。

+0

從哪裏得到此對象?對我來說,它看起來像一個鑄造的陣列,所以我問自己,爲什麼它被鑄造成一個對象 – KingCrunch 2013-02-23 01:20:48

+0

@KingCrunch這是我認爲Twitter的REST API響應。 – Sven 2013-02-23 01:21:47

+3

這將是大括號'$ myvar - > {'0'} - > id1' – 2013-02-23 01:22:38

回答

0

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

,或者你可以將它轉換爲數組中第一個,那麼:

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

就像我在評論中假定結構看起來並不像它曾經intented被treatened作爲一個對象。讓json_decode()不是與物體周旋,而是讓json_decode()首先返回關聯數組

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