博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 二维数组分页效率,PHP二维数组分页排序分页_PHP数组分页
阅读量:6279 次
发布时间:2019-06-22

本文共 1118 字,大约阅读时间需要 3 分钟。

在做项目时分页是必不可少的一个功能,有些数据是第一次取出之后使用缓存存储这些数据,这样减少了读取数据库的次数,减少数据库压力,但是去除之后数组还是要分页显示的,接下来吾爱编程,就为大家分享一下数组排序:

PHP二维数组分页排序分页

/**

* 数组分页函数 核心函数 array_slice

* 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中

* $list 分页数据

* $pageSize  每页多少条数据

* $currPage   当前第几页

* $sort  排序规则;例:array('time'=>'desc')

* $group 分组

*/

function array_page($list, $currPage, $pageSize = 10, $sort = null,$group=null) {

global $pageSizepage; #定全局变量

$page = (empty($currPage)) ? 1 : $currPage; #判断当前页面是否为空 如果为空就表示为第一页面

$start = ($page - 1) * $pageSize; #计算每次分页的开始位置

//排序

if(!empty($sort)){

$GLOBALS['sort'] =& $sort;#申明超全局变量

unset($sort);

uasort($list,function ($a,$b){

global $sort;

foreach($sort as $key => $val){

if($a[$key] == $b[$key])    continue;

return (($val == 'desc')?-1:1) * (($a[$key] < $b[$key]) ? -1 : 1);

}

});

}

$totals = count($list);

//分组

if(!empty($group)){

$tem = array();

foreach ($list as $val) {

$tem[$val[$group]][] = $val;

}

unset($list);

$list = $tem;

}

$pageSizepage = ceil($totals / $pageSize); #计算总页面数

$page_data = array();

$page_data = array_slice($list, $start, $pageSize,$group ? true:false);

unset($GLOBALS['sort']);

return $page_data;

}

?>

转载地址:http://hznva.baihongyu.com/

你可能感兴趣的文章
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>
不要将时间浪费到编写完美代码上
查看>>
《第一桶金怎么赚——淘宝开店创业致富一册通》一一第1章 创业梦想,怎样起步...
查看>>
基于容器服务的持续集成与云端交付(三)- 从零搭建持续交付系统
查看>>
《算法基础:打开算法之门》一3.4 归并排序
查看>>
高德开放平台开放源代码 鼓励开发者创新
查看>>
《高并发Oracle数据库系统的架构与设计》一2.5 索引维护
查看>>
《Exchange Server 2010 SP1/SP2管理实践》——2.4 部署外部网络环境
查看>>
Firefox 是 Pwn2own 2014 上攻陷次数最多的浏览器
查看>>
阿里感悟(十八)- 应届生Review
查看>>
《计算广告:互联网商业变现的市场与技术》一第一部分 在线广告市场与背景...
查看>>
话说模式匹配(5) for表达式中的模式匹配
查看>>
《锋利的SQL(第2版)》——1.7 常用函数
查看>>
《Arduino家居安全系统构建实战》——1.5 介绍用于机器学习的F
查看>>
jquery中hover()的用法。简单粗暴
查看>>
线程管理(六)等待线程的终结
查看>>
spring boot集成mongodb最简单版
查看>>