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 相关文章推荐
数据库的日期格式转换
Oct 09 PHP
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
Dec 16 PHP
PHP5 面向对象程序设计
Feb 13 PHP
坏狼的PHP学习教程之第2天
Jun 15 PHP
php 缓存函数代码
Aug 27 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
3个PHP多维数组转为一维数组的方法实例
Mar 13 PHP
php读取远程gzip压缩网页的方法
Dec 29 PHP
基于PHP实现用户注册登录功能
Oct 14 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 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
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
js实现Tab选项卡切换效果
2020/07/17 Javascript
微信小程序template模板实例详解
2017/10/27 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
python发送邮件实例分享
2017/07/28 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
用Python实现读写锁的示例代码
2018/11/05 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
Python 2.6.6升级到Python2.7.15的详细步骤
2020/12/14 Python
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
公司司机岗位职责
2014/02/07 职场文书
房地产活动策划方案
2014/05/14 职场文书
2014年幼儿园小班工作总结
2014/12/04 职场文书
销售员岗位职责范本
2015/04/11 职场文书
中学后勤工作总结2015
2015/07/22 职场文书