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中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
PHP面向对象概念
Nov 06 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
Mar 01 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
Nov 07 PHP
php jquery 多文件上传简单实例
Dec 23 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
php使用session二维数组实例
Nov 06 PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 PHP
Yii实现自动加载类地图的方法
Apr 01 PHP
PHP简单实现DES加密解密的方法
Jul 12 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
Mar 23 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 switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
javascript中的location用法简单介绍
2007/03/07 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
Python中集合类型(set)学习小结
2015/01/28 Python
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
Python日志syslog使用原理详解
2020/02/18 Python
如何用PyPy让你的Python代码运行得更快
2020/12/02 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
《落花生》教学反思
2014/02/25 职场文书
拆迁委托协议书
2014/09/15 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle