我想用php创建以下json数据。 我从数据库中获取了所需的值。
我想输出JSON(我手动创建它以显示):
{
"room":[
{
"id":"1",
"temp":"20"
},
{
"id":"2",
"temp":"30"
}
]
}
当前的PHP:
$rows = array();
if(!$allData->count()) {
echo 'No results!';
} else {
foreach ($allData->results() as $allData) {
$rows['id'] = $allData->id;
$rows['data'] = $allData->temp;
}
}
// echo out as json data
echo '{"rom":'.json_encode($rows).'}';
这是我当前的PHP脚本输出的内容:
{"rom":{"id":"2","data":"20"}}
JSON格式化:
{
"rom":{
"id":"2",
"temp":"30"
}
}
如您所见,它仅输出最后一个id和temp值..
我似乎无法找出我做错了什么,非常感谢任何帮助。
答案 0 :(得分:3)
您在数组中缺少一个维度:
$rows = array();
if(!$allData->count()) {
echo 'No results!';
} else {
foreach ($allData->results() as $allData) {
$rows[] = [
'id' => $allData->id,
'data' => $allData->temp,
];
}
}
答案 1 :(得分:1)
考虑一下:
$rows[] = ["id"=>$allData->id, "data"=>$allData->temp];
这样你永远不会覆盖以前的数据