我创建了一个数组对象,我想在我的示例输出中像这样转换它。我想要的输出:[ { "10:00": 2, "10:30": 2, "12:00": 2, "12:30": 2, "13:00": 1, "13:30": 1, "14:00": 1, "14:30": 1, "15:00": 1, "15:30": 1, "16:00": 1, "16:30": 1, "17:00": 1, "17:30": 1, "18:00": 1, "18:30": 1, "19:00": 1, "19:30": 1, "20:00": 1, "20:30": 1, "21:00": 1, "21:30": 1, "22:00": 1, "22:30": 1, "23:00": 1 } ]但这是我得到的结果[ { "10:00": 2 }, { "10:30": 2 }, { "12:00": 2 }, { "12:30": 2 }, { "13:00": 1 }, { "13:30": 1 }, { "14:00": 1 }, { "14:30": 1 }, { "15:00": 1 }, { "15:30": 1 }, { "16:00": 1 }, { "16:30": 1 }, { "17:00": 1 }, { "17:30": 1 }, { "18:00": 1 }, { "18:30": 1 }, { "19:00": 1 }, { "19:30": 1 }, { "20:00": 1 }, { "20:30": 1 }, { "21:00": 1 }, { "21:30": 1 }, { "22:00": 1 }, { "22:30": 1 }, { "23:00": 1 }]我正在尝试使用此代码将我的代码转换为我想要的输出$flat = array();foreach($tempreserve->result as $v) { if (is_array($v)) { $flat = array_merge($flat, array_values_recursive($v)); } else { $flat[] = $v; }}
2 回答
![?](http://img1.sycdn.imooc.com/533e4d510001c2ad02000200-100-100.jpg)
杨魅力
TA贡献1811条经验 获得超6个赞
$a=[];
$b=new stdClass();
$k1="12:00";
$k2="12:50";
$k3="13:10";
$b->$k1=1;
$b->$k2=2;
$b->$k3=3;
$a[]=$b;
echo json_encode($a);
结果
[{
"12:00": 1,
"12:50": 2,
"13:10": 3
}]
你想要这样的结果吗?
完整版本:
$flat=new stdClass();
foreach($tempreserve as $obj) {
$a=json_decode(json_encode($obj),true);
$k=array_keys($a)[0];
$v=$a[$k];
$flat->$k=$v;
}
echo (json_encode($flat));
![?](http://img1.sycdn.imooc.com/5458632800010f8802200220-100-100.jpg)
有只小跳蛙
TA贡献1824条经验 获得超8个赞
您可以使用foreachand json_encode,$arr是数组
$res = [];
foreach($arr as $key => $value){
foreach($value as $innerkey => $innerValue){
$res[$innerkey] = $innerValue;
}
}
echo json_encode($res);
- 2 回答
- 0 关注
- 149 浏览
添加回答
举报
0/150
提交
取消