使用php正确输出JSON


Correctly outputting JSON with php?

第一次使用JSON。我有以下XML结果。我想提供相同的结果,但在请求时JSON格式。我的数据来自mySQL数组。

当我尝试具有相同名称的多个节点时,我的问题就出现了。以XML结果为例:

<results>
    <result>
        <item_id>1</item_id>
    </result>
    <result>
        <item_id>50</item_id>
    </result>
    <result>
        <item_id>50433</item_id>
    </result>
    <result>
        <item_id>3</item_id>
    </result>
</results>

如果我在PHP中简单地做如下操作,我的数据就会相互覆盖。

foreach($result as $key => $value) {
    $json["results"]["result"]["item_id"] = $value;
}

它只给我一行结果,这是3的最后一个item_id。

我忽略了什么?

你在循环中重写了你的值,因为你没有把它放入数组中。

$json["results"]["result"]["item_id"] = $value;
应该

$json["results"]["result"]["item_id"][] = $value;