php 拼接显示二级联动
获取出来的数据结构:
array(2) {
[0] => array(4) {
["id"] => int(1)
["name"] => string(12) "零售经营"
["pid"] => int(0)
["children"] => array(4) {
[0] => array(3) {
["id"] => int(3)
["name"] => string(12) "商品门店"
["pid"] => int(1)
}
[1] => array(3) {
["id"] => int(4)
["name"] => string(12) "生活服务"
["pid"] => int(1)
}
[2] => array(3) {
["id"] => int(5)
["name"] => string(12) "休闲娱乐"
["pid"] => int(1)
}
[3] => array(3) {
["id"] => int(6)
["name"] => string(12) "酒店住宿"
["pid"] => int(1)
}
}
}
[1] => array(4) {
["id"] => int(2)
["name"] => string(12) "批发商铺"
["pid"] => int(0)
["children"] => array(14) {
[0] => array(3) {
["id"] => int(7)
["name"] => string(12) "服装服饰"
["pid"] => int(2)
}
[1] => array(3) {
["id"] => int(8)
["name"] => string(12) "鞋帽箱包"
["pid"] => int(2)
}
[2] => array(3) {
["id"] => int(9)
["name"] => string(12) "珠宝饰品"
["pid"] => int(2)
}
[3] => array(3) {
["id"] => int(10)
["name"] => string(9) "化妆品"
["pid"] => int(2)
}
[4] => array(3) {
["id"] => int(11)
["name"] => string(12) "母婴儿童"
["pid"] => int(2)
}
[5] => array(3) {
["id"] => int(12)
["name"] => string(12) "钟表眼镜"
["pid"] => int(2)
}
[6] => array(3) {
["id"] => int(13)
["name"] => string(12) "办公文教"
["pid"] => int(2)
}
[7] => array(3) {
["id"] => int(14)
["name"] => string(12) "玩具礼品"
["pid"] => int(2)
}
[8] => array(3) {
["id"] => int(15)
["name"] => string(12) "农副产品"
["pid"] => int(2)
}
[9] => array(3) {
["id"] => int(16)
["name"] => string(12) "家居建材"
["pid"] => int(2)
}
[10] => array(3) {
["id"] => int(17)
["name"] => string(12) "五金电子"
["pid"] => int(2)
}
[11] => array(3) {
["id"] => int(18)
["name"] => string(12) "家电通讯"
["pid"] => int(2)
}
[12] => array(3) {
["id"] => int(19)
["name"] => string(18) "小商品类批发"
["pid"] => int(2)
}
[13] => array(3) {
["id"] => int(20)
["name"] => string(12) "其他批发"
["pid"] => int(2)
}
}
}
}
public function getBusinessMap()
{
$list = $this->field('id,name,pid')->where('is_show', '=', 0)->order('sort', 'asc')->select()->toArray();
$tree = Tools::listToTree($list, 'id', 'pid');
$returnArr = [];
foreach ($tree as $k=>$val){
array_push($returnArr,[
"id"=>$val['id'],
"name"=>$val['name']
]);
foreach ($val['children'] as $key=> $v){
array_push($returnArr,[
"id"=>$v['id'],
"name"=>'----'.$v['name']
]);
}
}
return $returnArr;
}
使用array_push函数两次拼接的结果