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 相关文章推荐
快速配置PHPMyAdmin方法
Jun 05 PHP
php连接mysql数据库代码
Mar 10 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
May 24 PHP
PHP中最容易忘记的一些知识点总结
Apr 28 PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 PHP
zf框架的Filter过滤器使用示例
Mar 13 PHP
php对象和数组相互转换的方法
May 12 PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 PHP
Laravel中log无法写入问题的解决
Jun 17 PHP
php post json参数的传递和接收处理方法
May 31 PHP
关于laravel模板中生成URL的几种模式总结
Oct 18 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 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
第十四节 命名空间 [14]
2006/10/09 PHP
第十三节--对象串行化
2006/11/16 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
2016/11/30 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
jquery 简单导航实现代码
2009/09/11 Javascript
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
node中koa中间件机制详解
2017/08/22 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
Osklen官方在线商店:巴西服装品牌
2019/04/25 全球购物
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
SQL语言面试题
2013/08/27 面试题
实习单位接收函
2014/01/11 职场文书
五年级语文教学反思
2014/01/30 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
入党积极分子十八届四中全会思想汇报
2014/10/23 职场文书
同意转租证明
2015/06/24 职场文书
校运会新闻稿
2015/07/17 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis