数组操作,数组分页,数组层级缩进,递归

本文探讨了如何对数组进行高效分页处理,以及在层级数据中实现缩进和递归操作,适用于数据展示和分类管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对数组进行分页操作
	/** 
     * 数组分页函数  核心函数  array_slice 
     * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 
     * $count   每页多少条数据 
     * $page   当前第几页 
     * $array   查询出来的所有数组 
     * order 0 - 不变     1- 反序 
     */   
    function page_array($count,$page,$array,$order){  
        global $countpage; #定全局变量  
        // $page=(empty($page))?'1':$page; #判断当前页面是否为空 如果为空就表示为第一页面   
        $start=($page-1)*$count; #计算每次分页的开始位置  
        if($order==1){  
          $array=array_reverse($array);  
        }     
        $totals=count($array);    
        $countpage=ceil($totals/$count); #计算总页面数  
        $pagedata=array();  
        $pagedata=array_slice($array,$start,$count);  
        return $pagedata;  #返回查询数据  
    } 
层级分类
$arr = array(
    array('id'=>1,'name'=>'电脑','pid'=>0),
    array('id'=>2,'name'=>'手机','pid'=>0),
    array('id'=>3,'name'=>'笔记本','pid'=>1),
    array('id'=>4,'name'=>'台式机','pid'=>1),
    array('id'=>5,'name'=>'智能机','pid'=>2),
    array('id'=>6,'name'=>'功能机','pid'=>2),
    array('id'=>7,'name'=>'超级本','pid'=>3),
    array('id'=>8,'name'=>'游戏本','pid'=>3),
);
/**
 * @param $arr 数组
 * @param $id   id
 * @param $level  层级
 * @return array
 */
function demo($arr,$id,$level)
{
    $list =array();
    foreach ($arr as $k=>$v){
        if ($v['pid'] == $id){
            $v['level']=$level;
            $v['son'] = demo($arr,$v['id'],$level+1);
            $list[] = $v;
        }
    }
    return $list;
}
echo "<pre>";
print_r(demo($arr,0,0));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值