【发布时间】:2019-05-05 11:45:27
【问题描述】:
我们有一个随机类别列表,需要按照以下规则在 JSON 输出中排列 - 一种。所有父类别应按字母顺序排序 湾。每个父类别都应该有一个按字母顺序排序的子类别 C。父子关系可以是多级的
function hierarchy($data){
$arr=array();
foreach($data as $row){
$subarr=[];
if($row['parent']==null){
$subarr[$row['_id']]=$row;
$childs=findcs($row,$data);
print_r($childs);
}
array_push($arr,$subarr);
}
print_r($arr);
}
function findcs($row,$data){
$allChilds=[];
foreach($data as $item){
if($item['_id']==$item['parent']){
$child=[];
$child[$item['_id']]=$item;
array_push($allChilds,$child);
findcs(item['_id'],$data);
}
}
return $allChilds;
}
$data=[
[
"name"=> "Travel",
"parent"=> null,
"_id"=> 1,
],
[
"name"=>"Air Travel",
"parent"=> 1,
"_id"=> 1212,
],
[
"name"=> "Hotel",
"parent"=> 1,
"_id"=>212,
],
[
"name"=> "Businss Exp",
"parent"=> null,
"_id"=> 2,
],
[
"name"=> "Taxes",
"parent"=> 2,
"_id"=> 34,
],
[
"name"=> "Local Tax",
"parent"=> 34,
"_id"=> 34111,
],
[
"name"=>"Licenses",
"parent"=> 34,
"_id"=> 111232,
],
[
"name"=> "Insurance",
"parent"=> 1212,
"_id"=>113412,
],
];
【问题讨论】:
-
您可以发布
$data示例吗?你如何确定他们之间的亲子关系?缺少上下文。
标签: php