<?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));
宠物免费领养小程序,欢迎来踩