2012-06-10 38 views
2

這是以下JSON結構在其餘米試圖遍歷迭代一個JSON對象內部的陣列

{ 
    "AS":{ 
     "Query":"vi", 
     "FullResults":1, 
     "Results":[ 
     { 
      "Type":"AS", 
      "Suggests":[ 
       { 
        "Txt":"videos", 
        "Type":"AS", 
        "Sk":"" 
       }, 
       { 
        "Txt":"vipjatt", 
        "Type":"AS", 
        "Sk":"AS1" 
       }, 
       { 
        "Txt":"vit", 
        "Type":"AS", 
        "Sk":"AS2" 
       }, 
       { 
        "Txt":"vijaya bank", 
        "Type":"AS", 
        "Sk":"AS3" 
       }, 
       { 
        "Txt":"videocon d2h", 
        "Type":"AS", 
        "Sk":"AS4" 
       }, 
       { 
        "Txt":"visarev", 
        "Type":"AS", 
        "Sk":"AS5" 
       }, 
       { 
        "Txt":"vijaya karnataka", 
        "Type":"AS", 
        "Sk":"AS6" 
       }, 
       { 
        "Txt":"video songs", 
        "Type":"AS", 
        "Sk":"AS7" 
       } 
      ] 
     } 
     ] 
    } 
} 

這是我米使用遍歷它,並試圖訪問「的代碼TXT「財產

$data = $info->get($url); 
$content = json_decode($data); 
$i = 0; 
foreach($content->AS->Results as $item) { 
$each = $item->Suggests[$i]->Txt; 
    $i++; 
    echo $each; 
} 

但我只獲得」TXT「屬性的第一次出現的訪問。 我的代碼有什麼問題?爲什麼isint會打印「txt」屬性的每一個外觀?

回答

3

您正在迭代AS->Results項目,其中只有一個項目。你要遍歷直接Suggests陣列:

foreach ($content->AS->Results[0]->Suggests as $item) { 
    echo $item->Txt; 
} 

我不知道是否有可能在Results陣列中的多個項目。也許你需要先迭代它們來挑選出正確的Suggests項目來迭代。

+0

Oppsss !!感謝您指出了這一點!! –