• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
孙龙 程序员
少时总觉为人易,华年方知立业难
博客园    首页    新随笔    联系   管理    订阅  订阅
无限极分类php实现—查子孙树、家谱树

<?php


// 无限级分类中,查家谱树


$area = array(
0=>array('cat_id'=>1,'cat_name'=>'北京市','parent_id'=>0),
1=>array('cat_id'=>2,'cat_name'=>'馆陶县','parent_id'=>5),
2=>array('cat_id'=>3,'cat_name'=>'海淀区','parent_id'=>1),
3=>array('cat_id'=>4,'cat_name'=>'朝阳区','parent_id'=>1),
4=>array('cat_id'=>5,'cat_name'=>'邯郸市','parent_id'=>6),
5=>array('cat_id'=>6,'cat_name'=>'河北省','parent_id'=>0),
);


function gettree($arr,$cat_id) {
static $list = array();
static $num = 0;
foreach($arr as $v) {
echo ++$num .'<br />';
if($v['cat_id'] == $cat_id) {
$num = 0;
gettree($arr,$v['parent_id']);
$list[] = $v;
}
}


return $list;
}


$list = gettree($area,2);


print_r($list);



?>

<?php

// 无限级分类中,查找子孙树

$area = array(
0=>array('cat_id'=>1,'cat_name'=>'北京市','parent_id'=>0),
1=>array('cat_id'=>2,'cat_name'=>'馆陶县','parent_id'=>5),
2=>array('cat_id'=>3,'cat_name'=>'海淀区','parent_id'=>1),
3=>array('cat_id'=>4,'cat_name'=>'朝阳区','parent_id'=>1),
4=>array('cat_id'=>5,'cat_name'=>'邯郸市','parent_id'=>6),
5=>array('cat_id'=>6,'cat_name'=>'河北省','parent_id'=>0),
);

function catsort($arr,$parent_id = 0,$lev=1) {
static $list = array();
static $num = 0;
foreach($arr as $v) {
echo ++$num . '<br />';
if($v['parent_id'] == $parent_id) {
$num = 0;
$v['lev'] = $lev;
$list[] = $v;
catsort($arr,$v['cat_id'],$lev+1);
}
}
return $list;
}

$list = catsort($area,0,1);

foreach($list as $v) {
echo str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;',$v['lev']),$v['cat_name'],'<br />';
}

?>

 

本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/articles/8681469.html

posted on 2018-03-31 11:28  孙龙-程序员  阅读(127)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3