PHP二维数组分页2种实现方法解析


Posted in PHP onJuly 09, 2020

方法一:

<?php
$arr_click = array(
  array( 'clicks' => 3, 'clickDate' =>'2010-10-11' ),
  array( 'clicks' => 2, 'clickDate' =>'2010-10-11' ),
  array( 'clicks' => 3, 'clickDate' =>'2010-10-09' ),
  array( 'clicks' => 1, 'clickDate' =>'2010-10-08' ),
);
$page = 2;
$indexinpage=2;
$newarr = array_slice($arr_click, ($page-1)*$indexinpage, $indexinpage);
?>

原理如下:

和分页原理一样

数组用 array_slice(array,offset,length) 函数在数组中根据条件取出一段值。

  • array:需要处理的数组
  • offset:取出元素的开始位置
  • length:返回数组的长度

在每页中改变 offset 的值就行了!

方法二:

例如:

<?php
$arr_click = array(
  array( 'clicks' => 3, 'clickDate' =>'2010-10-11' ),
  array( 'clicks' => 2, 'clickDate' =>'2010-10-11' ),
  array( 'clicks' => 3, 'clickDate' =>'2010-10-09' ),
  array( 'clicks' => 1, 'clickDate' =>'2010-10-08' ),
);
$size = 3;
$pnum = ceil(count($arr_click) / $size);
if(isset($_GET['page'])){
  $page = intval($_GET['page']);
  $page = $page > $pnum? $pnum: $page;
  $page = $page < $pnum? 1: $page;
}else{
  $page = 1;
}
for($i = 0; $i < $size; $i++){
  if(!isset($arr_click[($page - 1) * $size + $i]))break;
  echo '<pre>';
  print_r($arr_click[($page - 1) * $size + $i]);
  echo '<br>';
}
?>
<a href="ad.php?page=<?php echo $page - 1 > 0? $page - 1: 1; ?>" rel="external nofollow" >上一页</a>
<a href="ad.php?page=<?php echo $page + 1 < $pnum? $page + 1: $pnum; ?>" rel="external nofollow" >下一页</a>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP 中文乱码解决办法总结分析
Jul 30 PHP
使用PHP接收POST数据,解析json数据
Jun 28 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
PHPCMS忘记后台密码的解决办法
Oct 30 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
Nov 08 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 PHP
php微信公众号开发之翻页查询
Oct 20 PHP
PHP chop()函数讲解
Feb 11 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 #PHP
PHP利用curl发送HTTP请求的实例代码
Jul 09 #PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 #PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 06 #PHP
详解PHP中的8个魔术常量
Jul 06 #PHP
php 利用socket发送GET,POST请求的实例代码
Jul 04 #PHP
PHP实现递归的三种方法
Jul 04 #PHP
You might like
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
作为PHP程序员你要知道的另外一种日志
2018/07/30 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
js 计算图片内点个数的示例代码
2019/04/04 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
详解Django通用视图中的函数包装
2015/07/21 Python
python实现井字棋游戏
2020/03/30 Python
理解Python垃圾回收机制
2016/02/12 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Django中Model的使用方法教程
2018/03/07 Python
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
python中比较两个列表的实例方法
2019/07/04 Python
python内存动态分配过程详解
2019/07/15 Python
python进行参数传递的方法
2020/05/12 Python
Python中实现一行拆多行和多行并一行的示例代码
2020/09/06 Python
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
英国名牌男装店:Standout
2021/02/17 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
如何掌握自荐信格式呢
2013/11/19 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
倡议书格式范文
2014/04/14 职场文书
2014年租房协议书范本
2014/10/30 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript