PHP中array_slice函数用法实例详解


Posted in PHP onNovember 25, 2014

本文详细介绍了array_slice函数的详细用法以及一些常用的array_slice实例程序,分享给大家供大家参考。具体分析如下:

array_slice() 函数在数组中根据条件取出一段值,并返回.

注释:如果数组有字符串键,所返回的数组将保留键名,参见例子 4.

语法:array_slice(array,offset,length,preserve)

函数在数组中根据条件取出一段值,并返回.

参数:

array  必需,规定输入的数组.

offset  必需,数值,规定取出元素的开始位置,如果是正数,则从前往后开始取,如果是负值,从后向前取offset 绝对值.

length  可选,数值,规定被返回数组的长度,如果是负数,则从后向前,选取该值绝对值数目的元素,如果未设置该值,则返回所有元素.

preserve 可选,可能的值:true ? 保留键 false ? 默认 ? 重置键,当为0的时候,将里面的值赋值给一个新的变量,最后返回这个变量。

代码如下:

<?php 

    $arr = array(0,1,2,3,4); 

    var_dump(array_slice($arr,0,2)); 

     

    echo "<br/>"; 

    $arr2 = array('a'=>array('a','a','a'),'b'=>array('b','b','b')); 

    var_dump(array_slice($arr2,0,1)); 

?>

返回的结果如下:
array(2) { [0]=> int(0) [1]=> int(1) } 
array(1) { ["a"]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "a" [2]=> string(1) "a" } }

array_slice函数实现的分页方法非常好用,分享如下:

<?php 

//假定一个结果集二维数组: 

   $arr = array(array('name'=> 'name1','sex' => 'sex1','job' => 'job1'), 

              array('name'=> 'name2','sex' => 'sex2','job' => 'job2'), 

              array('name'=> 'name3','sex' => 'sex3','job' => 'job3'), 

              array('name'=> 'name4','sex' => 'sex4','job' => 'job4'), 

              array('name'=> 'name5','sex' => 'sex5','job' => 'job5'), 

              array('name'=> 'name6','sex' => 'sex6','job' => 'job6'), 

              array('name'=> 'name7','sex' => 'sex7','job' => 'job7'), 

              array('name'=> 'name8','sex' => 'sex8','job' => 'job8'), 

              array('name'=> 'name9','sex' => 'sex9','job' => 'job9'), 

              array('name'=> 'name10','sex' => 'sex10','job' => 'job10'), 

              array('name'=> 'name11','sex' => 'sex11','job' => 'job11'), 

              array('name'=> 'name12','sex' => 'sex12','job' => 'job12'), 

     ); 

 

 //计算总记录条数 

 $num = count($arr); 

 //规定每页显示的条数 

 $perpage = 3; 

 //计算页数 

 $pages = ceil($num/$perpage); 

 //echo $num,$perpage,$pagecount;exit; 

 if(is_numeric($_REQUEST['page'])) 

 { 

  if($_REQUEST['page']<1){ 

   $page = 1; 

  }elseif($_REQUEST['page']>$pages) 

  { 

   $page = $pages; 

  }else{ 

  $page = $_REQUEST['page']; 

   } 

 }else{ 

  $page = 1; 

 } 

 $start = ($page-1)*$perpage; 

 $newpage = array_slice($arr,$start,$perpage,true); 

 //print_r($newpage);exit; 

?> 

<table cellpadding="0" cellspacing="0" border="1"> 

 <tr> 

  <td>name</td> 

  <td>sex</td> 

  <td>job</td> 

 </tr> 

<?php 

 foreach($newpage as $k => $v) 

{ 

?> 

 <tr> 

  <td><?php echo  $v['name']; ?></td> 

  <td><?php echo  $v['sex']; ?></td> 

  <td><?php echo  $v['job']; ?></td> 

 </tr> 

<?php 

} 

?> 

</table> 

<?php 

if($page>1){ 

 echo "<a href='?page=1'>首页</a>"; 

 echo "<a href='?page=".($page-1)."'>上一页</a>"; 

}

if($page<$pages) 

{ 

 echo "<a href='?page=".($page+1)."'>下一页</a>"; 

 echo "<a href='?page=".$pages."'>末页</a>"; 

} 

?>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
桌面中心(四)数据显示
Oct 09 PHP
我的论坛源代码(五)
Oct 09 PHP
PHP和XSS跨站攻击的防范
Apr 17 PHP
php jquery 多文件上传简单实例
Dec 23 PHP
PHP魔术引号所带来的安全问题分析
Jul 15 PHP
php上传文件问题汇总
Jan 30 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
PHP实现HTML页面静态化的方法
Nov 04 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
php实现产品加入购物车功能(1)
Jul 23 PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 PHP
PHP架构及原理知识点详解
Dec 22 PHP
ThinkPHP框架设计及扩展详解
Nov 25 #PHP
Yii入门教程之目录结构、入口文件及路由设置
Nov 25 #PHP
Yii入门教程之Yii安装及hello world
Nov 25 #PHP
php 伪造ip以及url来路信息方法汇总
Nov 25 #PHP
浅析php适配器模式(Adapter)
Nov 25 #PHP
浅析php原型模式
Nov 25 #PHP
浅析php创建者模式
Nov 25 #PHP
You might like
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
PHP聊天室技术
2006/10/09 PHP
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
php ios推送(代码)
2013/07/01 PHP
Javascript MD4
2006/12/20 Javascript
Prototype Hash对象 学习
2009/07/19 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
python list 合并连接字符串的方法
2013/03/09 Python
json跨域调用python的方法详解
2017/01/11 Python
python处理xml文件的方法小结
2017/05/02 Python
python3.5绘制随机漫步图
2018/08/27 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
2019/08/17 Python
python 操作hive pyhs2方式
2019/12/21 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
PyQt QMainWindow的使用示例
2021/03/24 Python
八年级物理教学反思
2014/01/19 职场文书
自荐信如何制作?
2014/02/21 职场文书
检查接待方案
2014/02/27 职场文书
电子专业毕业生自荐信
2014/05/25 职场文书
工厂门卫的岗位职责
2014/07/27 职场文书
普通党员整改措施
2014/10/24 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
邀请书模板
2015/02/02 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP