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 相关文章推荐
BBS(php &amp; mysql)完整版(二)
Oct 09 PHP
杏林同学录(四)
Oct 09 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
Jun 30 PHP
php在线代理转向代码
May 05 PHP
php实现复制移动文件的方法
Jul 29 PHP
php preg_match的匹配不同国家语言实例
Dec 29 PHP
PHP实现二维数组去重功能示例
Jan 12 PHP
PHP面向对象学习之parent::关键字
Jan 18 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
Apr 19 PHP
PHP观察者模式原理与简单实现方法示例
Aug 25 PHP
php写入mysql中文乱码的实例解决方法
Sep 17 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
php FPDF类库应用实现代码
2009/03/20 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
javasctipt如何显示几分钟前、几天前等
2014/04/30 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
如何快速上手Vuex
2017/02/14 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
python实现银联支付和支付宝支付接入
2019/05/07 Python
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
Ajax请求总共有多少种Callback
2016/07/17 面试题
Python中pass语句的作用是什么
2016/06/01 面试题
奶茶专卖店创业计划书
2014/01/18 职场文书
网络研修随笔感言
2014/02/17 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
洗车工岗位职责
2014/03/15 职场文书
大学生励志演讲稿
2014/04/25 职场文书
投诉信格式范文
2015/07/02 职场文书