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 友好URL的实现(吐血推荐)
Oct 04 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
Aug 06 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
PHP四舍五入精确小数位及取整
Jan 14 PHP
PHP速成大法
Jan 30 PHP
Symfony2中被遗弃的getRequest()方法分析
Mar 17 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
PHP在线打包下载功能示例
Oct 15 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
Feb 23 PHP
PHP 中魔术常量的实例详解
Oct 26 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 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下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
SharePoint 客户端对象模型 (一) ECMA Script
2011/05/22 Javascript
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
Openlayers显示瓦片网格信息的方法
2020/09/28 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
win10安装python3.6的常见问题
2020/07/01 Python
python实现KNN近邻算法
2020/12/30 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
2021/01/09 Python
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
小学少先队辅导员述职报告
2015/01/10 职场文书
2015入党个人自传范文
2015/06/26 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android