2

我有一个 for 循环,它返回一个 id 和用户拥有的所有图像的名称。

 $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

1 回答 1

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;
    }
}
于 2013-03-15T22:56:23.693 回答