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 相关文章推荐
SSI指令
Nov 25 PHP
ASP和PHP都是可以删除自身的
Apr 09 PHP
php的curl实现get和post的代码
Aug 23 PHP
php 动态添加记录
Mar 10 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
Jun 09 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
Jun 26 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
Nov 07 PHP
Codeigniter控制器controller继承问题实例分析
Jan 19 PHP
PHP邮箱验证示例教程
Jun 01 PHP
浅析PHP中json_encode与json_decode的区别
Jul 15 PHP
Swoole扩展的6种模式深入详解
Mar 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
php网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
JS中style属性
2006/10/11 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
JavaScript随机生成颜色的方法
2016/10/15 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python程序设计入门(3)数组的使用
2014/06/16 Python
python http接口自动化脚本详解
2018/01/02 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
使用Python封装excel操作指南
2021/01/29 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
资产评估专业大学生求职信
2013/09/29 职场文书
DIY手工制作经营店创业计划书
2014/02/01 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
华山导游词
2015/02/03 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
公司转让协议书
2016/03/19 职场文书
html5实现点击弹出图片功能
2021/07/16 HTML / CSS
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js