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面向对象编程快速入门
Oct 09 PHP
第六节--访问属性和方法
Nov 16 PHP
php Hex RGB颜色值互换的使用
May 10 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
php目录拷贝实现方法
Jul 10 PHP
WampServer搭建php环境时遇到的问题汇总
Jul 23 PHP
PHP性能优化大全(php.ini)
May 20 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
Laravel5框架添加自定义辅助函数的方法
Aug 01 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 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
javascript天然的迭代器
2010/10/29 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
解决vue init webpack 下载依赖卡住不动的问题
2020/11/09 Javascript
[03:01]DOTA2英雄基础教程 露娜
2014/01/07 DOTA
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
python 对key为时间的dict排序方法
2018/10/17 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
python 字符串追加实例
2019/07/20 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
python如何删除列为空的行
2020/07/17 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
酒店中秋节活动方案
2014/01/31 职场文书
军训自我鉴定范文
2014/02/13 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers