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 array_walk() 数组函数
Jul 12 PHP
利用PHP扩展vld查看PHP opcode操作步骤
Mar 04 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
PHP 下载文件时自动添加bom头的方法实例
Jan 10 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
Apr 25 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 PHP
php图片添加文字水印实现代码
Mar 15 PHP
php函数传值的引用传递注意事项分析
Jun 25 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 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 max_execution_time执行时间问题
2011/07/17 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
JavaScript类的写法
2016/09/17 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
python字典的常用方法总结
2019/07/31 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
pytorch数据预处理错误的解决
2020/02/20 Python
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
应届毕业生简历自我评价
2014/01/31 职场文书
新员工入职感言
2014/02/01 职场文书
竞聘书格式及范文
2014/03/31 职场文书
低碳环保倡议书
2014/04/14 职场文书
解除财产保全担保书
2014/05/20 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
《称赞》教学反思
2016/02/17 职场文书
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
日元符号 ¥
2022/02/17 杂记
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL