PHP递归求解答

PHP递归求解答,第1张

弱鸡,你少定义一个字段   :familyId

一个族的familyId相同,首先 sql 把 familyId = "自己familyID" 结果全部返回

再在PHP中递归出结果,而不是在数据库中反复查找条件,网站都会卡死

比如数组$List 为 张氏家族 所有的列表(也就是张氏家族sql返回结果)

首先遍历一个名称列表,以ID为KEY :$namelist = array(1=>张三,2=>张四,3=>张五,4=>张六)

再遍历出一个父子关系列表:也以ID为KEY,父方ID为值:$flist = array(1=>2,2=>3,3=>4,4=>5)

$namelist = array(1=>'张三',2=>'张四',3=>'张五',4=>'张了',6=>"张飞",7=>"张六",9=>"张宝",12=>'张七',13=>'张角')

        $flist = array(1=>2,2=>3,3=>7,4=>9,7=>12,6=>13)

        $res = array()

        family(1, $flist, $res,$namelist)

        var_dump($res)

        

        

        public function family($id,$flist,&$res,&$namelist){

        if($flist[$id]){

            $res[] = $namelist[$flist[$id]]

            family($flist[$id],$flist,$res,$namelist)

        }

function get_category($id){

$str=array()

//$sql = "select * from biao where id=$id"查询节点,自己写吧

$result = array('id'=>,'parent_id'=>)//查询结果一个数组格式

if($result){

$str = get_category($result['parent_id'])

$str[]=$result

}

return $str

}

}

调用get_category()就行了,$str第一个元素是节点本身,去掉就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9953255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存