<?php
/**
* Created by PhpStorm.
* User: yubo
* 无极限分类
* Date: 2017/9/12
* Time: 19:50
*/
$arr=[ ['id'=>0,'name'=>'中国','pid'=>999],
['id'=>1,'name'=>'北京','pid'=>0],
['id'=>2,'name'=>'天津','pid'=>0],
['id'=>3,'name'=>'广东','pid'=>0],
['id'=>4,'name'=>'深圳','pid'=>3],
['id'=>5,'name'=>'广州','pid'=>3],
['id'=>6,'name'=>'东莞','pid'=>3],
['id'=>7,'name'=>'惠州','pid'=>3],
['id'=>8,'name'=>'越秀区','pid'=>5],
['id'=>9,'name'=>'龙华新区','pid'=>4],
['id'=>10,'name'=>'海淀区','pid'=>1],
['id'=>11,'name'=>'朝阳区','pid'=>1],
['id'=>12,'name'=>'顺义区','pid'=>1],
['id'=>13,'name'=>'昌平区','pid'=>1],
['id'=>14,'name'=>'石景山区','pid'=>1],
['id'=>15,'name'=>'丰台区','pid'=>1],
['id'=>16,'name'=>'大兴区','pid'=>1],
['id'=>17,'name'=>'怀柔区','pid'=>1],
['id'=>18,'name'=>'罗湖区','pid'=>4],
['id'=>19,'name'=>'福田区','pid'=>4],
['id'=>20,'name'=>'南山区','pid'=>4],
['id'=>21,'name'=>'盐田区','pid'=>4],
['id'=>22,'name'=>'宝安区','pid'=>4],
['id'=>23,'name'=>'龙岗区','pid'=>4],
['id'=>24,'name'=>'上塘街道','pid'=>9]
];
function fn($arr,$pid='999',$level=0){
$subs=[];
// echo $pid;
// echo'<hr>';
foreach ($arr as $value){
if($value['pid']==$pid){
$value['level']=$level;
// echo $pid;echo'<hr>';
// print_r($value);
// echo'<hr>';
$subs[]=$value;
$subs= array_merge($subs, fn($arr,$id=$value['id'],$level+1)) ;
}
}
return $subs;
}
$data=fn($arr,$id=999);
foreach ($data as $v){
echo str_repeat('
/**
* Created by PhpStorm.
* User: yubo
* 无极限分类
* Date: 2017/9/12
* Time: 19:50
*/
$arr=[ ['id'=>0,'name'=>'中国','pid'=>999],
['id'=>1,'name'=>'北京','pid'=>0],
['id'=>2,'name'=>'天津','pid'=>0],
['id'=>3,'name'=>'广东','pid'=>0],
['id'=>4,'name'=>'深圳','pid'=>3],
['id'=>5,'name'=>'广州','pid'=>3],
['id'=>6,'name'=>'东莞','pid'=>3],
['id'=>7,'name'=>'惠州','pid'=>3],
['id'=>8,'name'=>'越秀区','pid'=>5],
['id'=>9,'name'=>'龙华新区','pid'=>4],
['id'=>10,'name'=>'海淀区','pid'=>1],
['id'=>11,'name'=>'朝阳区','pid'=>1],
['id'=>12,'name'=>'顺义区','pid'=>1],
['id'=>13,'name'=>'昌平区','pid'=>1],
['id'=>14,'name'=>'石景山区','pid'=>1],
['id'=>15,'name'=>'丰台区','pid'=>1],
['id'=>16,'name'=>'大兴区','pid'=>1],
['id'=>17,'name'=>'怀柔区','pid'=>1],
['id'=>18,'name'=>'罗湖区','pid'=>4],
['id'=>19,'name'=>'福田区','pid'=>4],
['id'=>20,'name'=>'南山区','pid'=>4],
['id'=>21,'name'=>'盐田区','pid'=>4],
['id'=>22,'name'=>'宝安区','pid'=>4],
['id'=>23,'name'=>'龙岗区','pid'=>4],
['id'=>24,'name'=>'上塘街道','pid'=>9]
];
function fn($arr,$pid='999',$level=0){
$subs=[];
// echo $pid;
// echo'<hr>';
foreach ($arr as $value){
if($value['pid']==$pid){
$value['level']=$level;
// echo $pid;echo'<hr>';
// print_r($value);
// echo'<hr>';
$subs[]=$value;
$subs= array_merge($subs, fn($arr,$id=$value['id'],$level+1)) ;
}
}
return $subs;
}
$data=fn($arr,$id=999);
foreach ($data as $v){
echo str_repeat('