2013-05-17 88 views
0

這是我嘗試訪問的輸出:如何循環訪問stdClass對象中的編號索引?

stdClass Object 
    (
     [results] => stdClass Object 
     (
      [columns] => stdClass Object 
      (
       [name] => Name 
       [id] => id 
      ) 

      [data] => stdClass Object 
      (
       [team] => Array 
       (
        [0] => stdClass Object 
        (
         [name] => Kansas City 
         [id] => 47556332 
        ) 

        [1] => stdClass Object 
        (
         [name] => Chi White Sox 
         [id] => 03948575 
        ) 

        [2] => stdClass Object 
        (
         [name] => Detroit 
         [id] => 3747646625 
        ) 
       )  
      ) 
     ) 
    ) 
) 

我試圖讓這個ID,但我運行到麻煩與0+後訪問任何東西。我在這裏有兩個foreach循環,因爲我需要遍歷名稱和id並將它們放在一個表中,但我沒有這樣做的問題。我只需要知道[0]中的任何內容。我如何參考0?

foreach ($data->results->data->team as $team_data) { 
    foreach ($team_data->THE ID/NUMBER->name as $team_id) { 
     #code... 
    } 
} 

當我做了上面的代碼,我得到如此多的錯誤。我嘗試不同的方法,並不斷收到錯誤的形式:

Notice: Undefined property: stdClass::$0 in index.php on line 61 Notice: Trying to get property of non-object in index.php on line 61 

此錯誤是在嘗試了$ id和$ ID ++來獲取編號的一部分。我知道這個問題已經被問過,但我需要通過多個號碼來獲得,而不是隻是0,因爲很明顯

$team_data->{'0'}->name 

將只是一個工作,但我得到的錯誤,甚至試圖做到這一點,我需要得到0,1,2,等

回答

1

我想你可能會在得太多..解

foreach ($data->results->data->team as $team_id => $team_data) { 
    // $team_id holds the index of the teams array 
    echo $team_id; 
    echo $team_data->name; 
    echo $team_data->id; 
} 
+0

哦拍。我總是傾向於過度這樣的事情。謝謝。 –

+0

foreach($ array AS $ key => $ value),所以$ key是'編號部分',$ value就是它的內容。 – Kevin

0

$ team_data已經有名稱和ID在它的對象。所以跳過第二個foreach並直接訪問$ team_data ['id']和$ team_data ['name']