【发布时间】:2014-11-11 12:45:54
【问题描述】:
我正在像这样从数据库中获取数据
$endResult = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
if (!isset($endResult[$row['car']])) {
$endResult[$row['car']]= (object) array(
'car' => $row['car'],
'carModel' => $row['carModel'],
'colors' => array()
);
}
$endResult[$row['car']] -> colors [] = (object) array(
'paintedOn' => $row['paintenOnDate'],
'paintedBy' => $row['paintedBy']
);
}
//return with slim.php
$response->body(json_encode($endResult));
我得到的结果
{"1":
{
"car": "1",
"carModel": "model-1",
"colors": [
{
"paintedOn": "2014-11-07",
"paintedBy": "5"
},{
"paintedOn": "2014-11-08",
"paintedBy": "6"
}]
},
"2":{
"car": "2",
"carModel": "model-2",
"colors": [
{
"paintedOn": "2014-11-09",
"paintedBy": "7"
},{
"paintedOn": "2014-11-10",
"paintedBy": "8"
}]
}
}//<--replace this with []
即使$endResult 被声明为 Array 我得到 {} 括号,我怎么能用“Array”括号替换“Object”括号?
更新:我无法删除 json_encode 作为前端(骨干)期望集合
更新 2:$endResult = array(); 返回[...]
但是这个$endResult[$row['car']]= (object) array(...) 将其转换为{...}
【问题讨论】:
-
您将其编码为 json。 Json 与
{}一起使用。 -
但如果我喜欢这个
$stmt->fetchAll(PDO::FETCH_OBJ);,它将返回[...] -
你试试
json_decode()??