为了账号安全,请及时绑定邮箱和手机立即绑定

PHP JSON Array - 如何按相同的值修改 json 代码组

PHP JSON Array - 如何按相同的值修改 json 代码组

PHP
米脂 2021-11-19 16:32:07
我使用 php foreach 函数按具有相同值的对象对我的表进行分组$data = json_decode($geo, true);$out = [];foreach($data as &$element) {     $out[$element['id']][] = [        'lng' => $element['lng'],        'lat' => $element['lat'],        'time' => $element['time']    ];};$geo = json_encode($out);后来我得到了这个结果"[{"1":[{"lng":134.94157,"lat":36.871337,"time":1502159287}],"2":[{"lng":134.94157,"lat":34.598832,"time":1502211838}],"3":[{"lng":131.225,"lat":37.101667,"time":1502144333},{"lng":131.24,"lat":37.123333,"time":1502144343}]}]"现在我希望我的数据是这样的[[{"lng":134.94157,"lat":36.871337,"time":1502159287}],[{"lng":134.94157,"lat":34.598832,"time":1502211838}],[{"lng":131.225,"lat":37.101667,"time":1502144333},{"lng":131.24,"lat":37.123333,"time":1502144343}]]我怎样才能做到这一点?
查看完整描述

1 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

首先,json_decode()您的初始 JSON 数据。然后,移动到解码数据中的第一个索引,并在array_values()的帮助下仅选择跳过键的数组值的值。


<?php


$prev_json = '[{"1":[{"lng":134.94157,"lat":36.871337,"time":1502159287}],"2":[{"lng":134.94157,"lat":34.598832,"time":1502211838}],"3":[{"lng":131.225,"lat":37.101667,"time":1502144333},{"lng":131.24,"lat":37.123333,"time":1502144343}]}]';


$data = json_decode($prev_json,true);


$new_json = json_encode(array_values($data[0]));


echo $new_json;

演示: https : //3v4l.org/bFmYn


更新:查看更新后的代码,您可以删除$element['id']from$out[$element['id']]并使其$out[] = [..rest of your code..]正常工作。


查看完整回答
反对 回复 2021-11-19
  • 1 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信