喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: 问个递归的写法  
 
psdshow
金牌会员
Rank: 6Rank: 6
论坛元老



UID 30908
精华 0
积分 1785
帖子 1385
金钱 1785 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2004-9-6
来自 永州-廣州
状态 离线
问个递归的写法

这里是用在分类里面的,不讨论效率问题,学习一下递归的写法

<?php
$data
=array(
      array(
'id'=>1,'pid'=>0),
      array(
'id'=>2,'pid'=>0),
      array(
'id'=>3,'pid'=>5),
      array(
'id'=>4,'pid'=>3),
      array(
'id'=>5,'pid'=>0),
      array(
'id'=>6,'pid'=>3),
      );
?>
如何用递归取得某个id的所有子分类?
谢谢




以下AD由PHPX赞助:
广州梦莎五金饰品厂 东莞恒隆五金饰品厂 承接php私活
2005-12-23 04:56 PM#1
查看资料  访问主页  Blog  发短消息  QQ . .   顶部
 
meizhe (meizhe)
新手上路
Rank: 1
初级会员



UID 67447
精华 0
积分 2
帖子 2
金钱 2 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-12-23
状态 离线
[推荐阅读] 请问怎么得到所有HTML中的name和对应的value值?


<?php
$data
=array(
array(
'id'=>1,'pid'=>0),
array(
'id'=>2,'pid'=>1),
array(
'id'=>3,'pid'=>1),
array(
'id'=>4,'pid'=>3),
array(
'id'=>5,'pid'=>2),
array(
'id'=>6,'pid'=>2),
);

function 
getChilds($arr,$pid,$deep=0)
{
    static 
$childs;

    
$deep++;
    if(isset(
$arr) && !empty($arr))
    {
        foreach(
$arr as $val)
        {
            if(
$val["pid"] == $pid)
            {
                
$i = isset($childs)?count($childs):0;

                
$childs[$i]["id"]   = $val["id"];
                
$childs[$i]["pid"]  = $pid;
                
$childs[$i]["deep"] = $deep-1;

                
getChilds($arr,$val["id"],$deep);
                
$i++;
            }
        }
        return 
$childs;
    }
    else
        return 
false;
}

$data getChilds($data,1);
print_r($data);
?>
2005-12-23 05:23 PM#2
查看资料  发短消息  顶部
 
psdshow
金牌会员
Rank: 6Rank: 6
论坛元老



UID 30908
精华 0
积分 1785
帖子 1385
金钱 1785 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2004-9-6
来自 永州-廣州
状态 离线
[推荐阅读] [问题]php如何删除文本问题?
謝謝 meizhe.

有些明白暸,又有些疑問:
主要之前不知道如何返囬值以及什么條件結束
static $childs;是什么用途呢?




以下AD由PHPX赞助:
广州梦莎五金饰品厂 东莞恒隆五金饰品厂 承接php私活
2005-12-23 05:36 PM#3
查看资料  访问主页  Blog  发短消息  QQ . .   顶部
 
没辙
新手上路
Rank: 1
初级会员



UID 66782
精华 0
积分 16
帖子 34
金钱 16 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-9-20
状态 离线
[推荐阅读] 请教网页制作高手一个问题:
静态变量
2005-12-23 09:42 PM#4
查看资料  访问主页  发短消息  QQ . .   顶部
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2600
帖子 3139
金钱 2600 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 离线
[推荐阅读] 问一个连接mysql的问题
2个foreach就搞定了,何必用递归



学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2005-12-23 11:53 PM#5
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.024882 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP