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中的一个中文字符串截取函数
Feb 14 PHP
PHP中HTTP方式下的Gzip压缩传输方法举偶
Feb 15 PHP
php日历制作代码分享
Jan 20 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
Nov 08 PHP
php去除数组中重复数据
Nov 18 PHP
php中in_array函数用法探究
Nov 25 PHP
最新最全PHP生成制作验证码代码详解(推荐)
Jun 12 PHP
PHP读书笔记_运算符详解
Jul 01 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 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
set_include_path在win和linux下的区别
2008/01/10 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
Python编码时应该注意的几个情况
2013/03/04 Python
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
pandas中的数据去重处理的实现方法
2020/02/10 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
环境工程毕业生自荐信
2013/11/17 职场文书
创业计划书中包含的9个方面
2013/12/26 职场文书
工业学校毕业生自荐书
2014/01/03 职场文书
职工趣味运动会方案
2014/02/10 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS