php 数据 怎么转成固定的json格式

查看:91
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆