这是我的 json 代码
[{"name":"Lahore","code":"LHE"},{"name":"Rawalpindi","code":"RWP"},{"name":"Wah Cantt","code":"RWP"}]
这是我的 php 代码
$city_result = '[{"name":"Lahore","code":"LHE"},{"name":"Rawalpindi","code":"RWP"},{"name":"Wah Cantt","code":"RWP"}]';
$cityList = [];
$cities = (array)json_decode($city_result,1);
foreach ($cities as $city) {
$cityList[$city['code']] = $city['name'];
}
echo json_encode($cityList,true);
当我回显结果时
{"LHE":"Lahore","RWP":"Wah Cantt"}
它将拉瓦尔品第从名单中删除。拉瓦尔品第和瓦坎特的代码都是 RWP。我想返回这两个城市。
需要帮忙。
目前,城市代码与其名称之间存在一对一的映射,并且每个代码只能有一个这样的映射。
看起来您想要使用数组来进行 1 对 n 映射(请注意附加的[]
在循环中附加当前值):
$city_result = '[{"name":"Lahore","code":"LHE"},{"name":"Rawalpindi","code":"RWP"},{"name":"Wah Cantt","code":"RWP"}]';
$cityList = [];
$cities = (array)json_decode($city_result,1);
foreach ($cities as $city) {
$cityList[$city['code']][] = $city['name'];
}
echo json_encode($cityList,true);
Output:
{"LHE":["Lahore"],"RWP":["Rawalpindi","Wah Cantt"]}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)