php 数据 怎么转成固定的json格式
本文介绍了php 数据 怎么转成固定的json格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1.一条数据怎么拼成固定的json格式
每一条数据格式如下:
广东省 广州市 天河区
广东省 广州市 白云区
广东省 广州市 海珠区
广东省 深圳市 罗湖区
广东省 深圳市 福田区
广西省 南宁市 兴宁区
广西省 南宁市 青秀区
广西省 柳州市 城中区
广西省 柳州市 鱼峰区
2.利用php怎么转成以下格式:
[
{'v': '广东省', 'n': '广东省 >', 's': [
{'v': '广州市', 'n': '广州市', 's': [
{'v': '天河区', 'n': '天河区'},
{'v': '白云区', 'n': '白云区'},
{'v': '海珠区', 'n': '海珠区'}
]},
{'v': '深圳市', 'n': '深圳市', 's': [
{'v': '罗湖区', 'n': '罗湖区'},
{'v': '福田区', 'n': '福田区'}
]}
]},
{'v': '广西省', 'n': '广西省 >', 's': [
{'v': '南宁市', 'n': '南宁市', 's': [
{'v': '兴宁区', 'n': '兴宁区'},
{'v': '青秀区', 'n': '青秀区'}
]},
{'v': '柳州市', 'n': '柳州市', 's': [
{'v': '城中区', 'n': '城中区'},
{'v': '鱼峰区', 'n': '鱼峰区'}
]}
]}
]
3.求高手解答
解决方案
$list=array(
array('province'=>'广东省','city'=>'广州市','area'=>'天河区'),
array('province'=>'广东省','city'=>'广州市','area'=>'白云区'),
array('province'=>'广东省','city'=>'广州市','area'=>'海珠区'),
array('province'=>'广东省','city'=>'深圳市','area'=>'罗湖区'),
array('province'=>'广东省','city'=>'深圳市','area'=>'福田区'),
array('province'=>'广西省','city'=>'南宁市','area'=>'兴宁区'),
array('province'=>'广西省','city'=>'南宁市','area'=>'青秀区'),
array('province'=>'广西省','city'=>'柳州市','area'=>'城中区'),
array('province'=>'广西省','city'=>'柳州市','area'=>'鱼峰区')
);
$datas=array();
$provinces=array();
$citys=array();
$areas=array();
foreach ($list as $k => $v) {
$province_encode=base64_encode($v['province']);
$city_encode=base64_encode($v['city']);
$area_encode=base64_encode($v['area']);
$provinces[$province_encode]=array('v'=>$v['province'],'n'=>$v['province'].' >');
$citys[$province_encode][$city_encode]=array('v'=>$v['city'],'n'=>$v['city']);
$areas[$province_encode][$city_encode][$area_encode]=array('v'=>$v['area'],'n'=>$v['area']);
}
foreach($provinces as $p_encode=>$p){
foreach($citys[$p_encode] as $c_encode=>$c){
foreach($areas[$p_encode][$c_encode] as $a_encode=>$a){
$c['s'][]=$a;
}
$p['s'][]=$c;
}
$datas[]=$p;
}
$res=json_encode($datas);
这篇关于php 数据 怎么转成固定的json格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文