<?php
//递归
//
header("Content-Type: text/html; charset=UTF-8");
$arr = array(
array('id'=>1, 'name'=>'河南', 'parent_id'=>0),
array('id'=>2, 'name'=>'广东', 'parent_id'=>0),
array('id'=>3, 'name'=>'郑州', 'parent_id'=>1),
array('id'=>4, 'name'=>'漯河', 'parent_id'=>1),
array('id'=>5, 'name'=>'临颍', 'parent_id'=>4),
array('id'=>6, 'name'=>'许昌', 'parent_id'=>1),
array('id'=>7, 'name'=>'深圳', 'parent_id'=>2),
array('id'=>8, 'name'=>'宝安', 'parent_id'=>2),
array('id'=>9, 'name'=>'福田', 'parent_id'=>2),
array('id'=>10, 'name'=>'龙华', 'parent_id'=>2),
);
/**
* 获取所有父类
* @param array $arr 总数组
* @param int $pid 父id
* @return 父类
*/
function get_all_parent($arr,$pid){
static $newArr;
foreach ($arr as $key => $value) {
if($value['id']==$pid){
$newArr[]=$value;
$newArr+=get_all_parent($arr,$value['parent_id']);
}
}
return $newArr;
}
/**
* 获取顶级父类
* @param array $arr 总数组
* @param int $pid 父id
* @return 父类
*/
function get_top_parent($arr,$pid){
static $newArr;
foreach ($arr as $key => $value) {
if($value['id']==$pid){
if($value['parent_id']== 0){
$newArr[]=$value;
}
$newArr+=get_top_parent($arr,$value['parent_id']);
}
}
return $newArr;
}
/**
* [getChild description]get array all child
* @param array $arr 传入数组
* @param string $id 传入id
* @return [type] array
*/
function get_child($arr,$id){
static $newArr = array();
if(empty($arr)){
return false;
}
foreach($arr as $key=>$value){
if($value['parent_id']==$id){
$newArr[] = $value;
unset($arr[$key]);
get_child($arr, $value['id']);
}
}
return $newArr;
}
var_dump(get_all_parent($arr,3));
var_dump(get_top_parent($arr,3));
var_dump(get_child($arr,1));
宠物免费领养小程序,欢迎来踩