2013-03-15 146 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; 
    } 
}