php中递归无限分类之-通过子栏目查找父栏目

<?php
header("content-type:text/html;charset=utf8");
/*通过子栏目查找父栏目,范围小到范围大*/
$area = array(
array(‘cat_id‘=>1,‘province‘=>‘福建省‘,‘parent_id‘=>0),
array(‘cat_id‘=>2,‘province‘=>‘龙岩市‘,‘parent_id‘=>1),
array(‘cat_id‘=>3,‘province‘=>‘广东省‘,‘parent_id‘=>0),
array(‘cat_id‘=>4,‘province‘=>‘佛山市‘,‘parent_id‘=>3),
array(‘cat_id‘=>5,‘province‘=>‘江西省‘,‘parent_id‘=>0),
array(‘cat_id‘=>6,‘province‘=>‘南昌市‘,‘parent_id‘=>5),
array(‘cat_id‘=>7,‘province‘=>‘赣州市‘,‘parent_id‘=>5),
array(‘cat_id‘=>8,‘province‘=>‘宁都县‘,‘parent_id‘=>7),
);
function son($arr,$cat_id){
static $list;
foreach($arr as $v){
if($v[‘cat_id‘] == $cat_id){
print_r($v);
$list[] =$v;
son($arr,$v[‘parent_id‘]);
}
}
return $list;
}
$list = son($area,8);
foreach($list as $v){
echo ‘--->‘,$v[‘province‘];
}
/**执行结果源代码
    Array
    (
        [cat_id] => 8
        [province] => 宁都县
        [parent_id] => 7
    )
    Array
    (
        [cat_id] => 7
        [province] => 赣州市
        [parent_id] => 5
    )
    Array
    (
        [cat_id] => 5
        [province] => 江西省
        [parent_id] => 0
    )
    --->宁都县--->赣州市--->江西省
**/

?>

本文出自 “小城工作室” 博客,请务必保留此出处http://xcroom.blog.51cto.com/7941996/1650600

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。