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 对输入信息的进行安全过滤的函数代码
Jun 29 PHP
hadoop常见错误以及处理方法详解
Jun 19 PHP
php开发微信支付获取用户地址
Oct 04 PHP
学习php设计模式 php实现状态模式
Dec 07 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
phpstudy的php版本自由修改的方法
Oct 18 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP命令Command模式用法实例分析
Aug 08 PHP
PHP设计模式之单例模式定义与用法分析
Mar 26 PHP
php正则表达式使用方法整理集合
Jan 31 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 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
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
实例讲解PHP表单
2020/06/10 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
Saltstack快速入门简单汇总
2016/03/01 Python
python正则表达式之作业计算器
2016/03/18 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
python实现二叉查找树实例代码
2018/02/08 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
班组长岗位职责范本
2014/01/05 职场文书
党的群众路线学习材料
2014/05/16 职场文书
生产操作工岗位职责
2014/09/16 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
毕业实习感受与体会
2015/05/26 职场文书
MySQL数据管理操作示例讲解
2022/12/24 MySQL