繁体   English   中英

需要帮助来用PHP构建json

[英]Need help constructing json with PHP

我想要以下用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值。

我似乎无法找出我做错了什么,非常感谢您的帮助。

您在数组中缺少一个维度:

$rows = array();
if(!$allData->count()) {
    echo 'No results!';
} else {
    foreach ($allData->results() as $allData) {
        $rows[] = [
           'id' => $allData->id,
           'data' => $allData->temp,
        ];
    }
}

考虑一下:

$rows[] = ["id"=>$allData->id, "data"=>$allData->temp];

这样一来,您就不会覆盖以前的数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM