0

これは私のコードです

<?php
$something = array(); 
while ($row = mysql_fetch_assoc($result)) { 
    $something[] = $row;
} 
mysql_close($con);
?>

<script type="text/javascript"> 
    some= <?php echo json_encode($something); ?>; 
</script>

上記のコードは以下を生成します:

[{"id":"1","title":"Ray","author":"Ray","thumb":"some source","views":"10000"}]

しかし、私は次のようなjson文字列を生成したいと思います。

[{"id":"1","title":"Ray","author":"Ray","image":{"cls":"image","thumb":"some source","views":"10000"}}]

何か助けはありますか?

4

1 に答える 1

3

json_encodeあなたが持っているどんなオブジェクト構造もエンコードします。特定のプロパティをサブオブジェクトとして使用する場合は、そのようなオブジェクトをメモリに作成する必要があります。

たとえば、

$a = array("id"=>1, 
           "title"=>"Ray", 
           "image" => 
               array(
                 "thumb"=>"some source",
                 "cls"=>"image"
                )
           );

あなたが言及しているのと同じようにjsonでエンコードします。

これは、mysqlの結果をループして、前に新しい構造を作成する必要があることを意味します。次に、その上でjson_encodeを呼び出します。

于 2012-11-30T09:41:21.267 に答える