2013-03-15 193 views
2

我有一個for循環,它返回一個id和用戶擁有的所有圖像的名稱。在for循環中嵌套json對象

$from1 = 1; 
$from2 = 10; 

for ($i=$from1; $i < $from2; $i++) { 
    if (($i % 5) == 0) 
    $idTemp = $id1[$i]; 

    echo $idTemp; 
    echo $name[$i]; 
} 

相反呼應出來的數據,我希望把它放在一個JSON響應,就像這樣:

"images":[ 
    "1":{"id":"1234","name":"thisisaname"}, 
    "2":{"id":"4332","name":"namename"} 
] 

,但我似乎無法工作,如何建立一個內部的JSON數組循環。此外,我將如何循環解碼json?

任何人都可以幫忙嗎? 乾杯提前任何幫助,傑米

回答

4

在服務器端(PHP)打印JSON響應,首先創建PHP數組具有相同的結構,那麼你就可以json_encode它編碼:

$from1 = 1; 
$from2 = 10; 

$json = array('images' => array()); 
for ($i=$from1; $i < $from2; $i++) { 
    if (($i % 5) == 0) { 
     $json['images'][$i] = array(
      'id' => $id1[$i], 
      'name' => $name[$i] 
     ); 
    } 
} 

echo json_encode($json); 

在客戶端(JS),您會收到一個data對象:

$.getJSON(url, function(data) { 
    for (x in data.images) { 
     data.images[x].id; 
     data.images[x].name; 
    } 
}