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 3行代码的分页算法(求起始页和结束页)
Oct 21 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
php与paypal整合方法
Nov 28 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
PHP动态分页函数,PHP开发分页必备啦
Nov 07 PHP
php错误、异常处理机制(补充)
May 07 PHP
php目录遍历函数opendir用法实例
Nov 20 PHP
php面象对象数据库操作类实例
Dec 02 PHP
php中header设置常见文件类型的content-type
Jun 23 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 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 动态执行带有参数的类方法
2009/04/10 PHP
php printf输出格式使用说明
2010/12/05 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
jQuery中triggerHandler()方法用法实例
2015/01/19 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
python实现屏保计时器的示例代码
2018/08/08 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
深入理解Python异常处理的哲学
2019/02/01 Python
python用match()函数爬数据方法详解
2019/07/23 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
门卫岗位职责
2013/11/15 职场文书
工程造价与管理专业应届生求职信
2013/11/23 职场文书
巧克力蛋糕店创业计划书
2014/01/14 职场文书
人事专员工作职责
2014/02/22 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
故宫英文导游词
2015/01/31 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
Python制作动态字符画的源码
2021/08/04 Python
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS