-1

なぜこれが配列でなくなり、{}、{}の間にコンマがないのかわかりません

foreach ($query->result_array() as $row) {
    header("Content-type: application/json");
    echo (json_encode($row,JSON_PRETTY_PRINT));
}

そして、jqueryでjsonデータにアラートを出す方法は?この前は、jsでforループを使用してループしていますが、何らかの理由でサーバー側でループする必要があります。

編集済み

//because i want to replace $row['url'] to get_thumb();    
foreach($query->result_array() as $row){
        $row['url'] = $this->vz_image->get_thumb($row['url'],'n');
        header("Content-type: application/json");
    echo (json_encode($row,JSON_PRETTY_PRINT));
    }

次に、この結果が得られましたが、jqueryでこのjsonデータにアラートを送信する方法がわかりません。何か助けはありますか?

{
"id": "44",
"url": "assets\/img\/uploaded_photos\/thumbs\/1358786330_n.jpg",
"created_time": "1358786330",
"photo_id": "170",
"tag_id": "44",
"name": "Lan Yao Yeng",
"num_photo": "3"
}{
"id": "44",
"url": "assets\/img\/uploaded_photos\/thumbs\/1358711532_n.jpg",
"created_time": "1358711532",
"photo_id": "169",
"tag_id": "44",
"name": "Lan Yao Yeng",
"num_photo": "3"
}
4

2 に答える 2

3

配列を指定していないため、配列ではありません。

多数のオブジェクトを次々にエコーしています。オブジェクトの配列ではありません。

于 2013-01-21T20:55:52.477 に答える
2

配列全体をクライアントに渡したい場合は、各要素ではなく配列自体をエンコードします。

function map($row){
    if (isset($row['url']))
        $row['url'] = $this->vz_image->get_thumb($row['url'],'n');
    return $row;
}

header("Content-type: application/json");
echo json_encode(array_map("map", $query->result_array()),JSON_PRETTY_PRINT);

これをクラスで使用する場合は、 に変更array_map("map", $query->result_array())する必要がある場合がありますarray_map(array($this, "map"), $query->result_array())

于 2013-01-21T20:56:15.497 に答える