2012-06-26 37 views
-2

我有像一個JSON陣列輸出,談到這樣的:陣列迭代使用的foreach

{ 
    "data": [ 
    { 
     "color" 
     "size" 
     "id" 
     "weight" 
    }, 
    { 
     "color" 
     "size" 
     "id" 
     "weight" 
    }, 

等。 數組名稱叫$ cars。 我需要遍歷所有陣列並獲取所有車型。

類似:

foreach ($cars as $value) { 
    $carsize=[data][i][size] 

感謝。

+5

你的JSON數組在語法上是錯誤的。沒辦法解析。 –

回答

1

使用json_decode()時,請確保您解析成一個數組,然後遍歷數據,像這樣:

$array = json_decode($json, true); 
foreach ($array['data'] as $data) { 
    $carsize = $data['size']; 
    echo $carsize; 
} 
+0

是的,我認爲這將做正確的工作,還有一個問題,如果我需要提取第一輛車的大小,我會迴應它如何?我的意思是回聲[數據] [0] [大小]? – Eri

+0

您不需要使用foreach來訪問特定項目。給定解碼數組,'echo $ array ['data'] [0] ['size'];'會做。 – Martijn

1

$cars =json_decode($cars)應該做你所需要的。

+0

嘿,謝謝,對不起,也許我解釋自己錯了,我需要在php中這樣做..我的意思是,作爲數組在php – Eri

+0

@Eri你說這個數組已被解碼? –