递归分类

这里写图片描述这里写图片描述

sort.php

<?php  
	header('content-type:text/html;charset=utf-8');
	$pdo=new PDO('mysql:host=localhost;dbname=laravelinfo;','root','root');
	$pdo->exec('set names utf8');
	$data=$pdo->query('select * from sort')->fetchAll(PDO::FETCH_ASSOC);
	function getSort($data,$pid=0,$level=''){
		static $arr=array();
		foreach($data as $k => $v){
			//如果该分类pid=0
			if($v['pid']==$pid){
				$v['level']=$level;
				$arr[]=$v;
				
				getSort($data,$v['id'],$level.'-------');
		// print_r($arr);die;
			}
		}
		return $arr;
	}
	$info=getSort($data);
	// print_r($info);die;
?>
<select name="" id="">
	<?php foreach($info as $k => $v){ ?>
		<option value=""><?= $v['level'] ?><?= $v['name'] ?></option>
	<?php } ?>
</select>

1 — 0
2 — 1
3 — 2
4 — 3

function oneSort($data,$pid=0){
    $arr=[];
    foreach($data as $k => $v){
        if($v['pid']==$pid){
            $v['child']= getSort($data,$v['id']);
            $arr[]=$v;
//            print_r($arr);die;			pid:0   1   2   3 	//id=4
        }
    }
    return $arr;
}
function getSort($data,$pid=0){
    static $arr=[];
    foreach($data as $k => $v){

        //如果该分类pid=0
        if($v['parent_id']==$pid){
            $arr[]=$v;
            $v['child']= getSort($data,$v['id']);
            print_r($arr);die;					//pid: 0  1  2  3   //id [1 2 3 4]
        }
    }
    return $arr;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值