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 相关文章推荐
php adodb连接mssql解决乱码问题
Jun 12 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
Oct 31 PHP
PHP安全技术之 实现php基本安全
Sep 04 PHP
php文件上传你必须知道的几点
Oct 20 PHP
PHP编程求最大公约数与最小公倍数的方法示例
May 29 PHP
PHP网页安全认证的实例详解
Sep 28 PHP
PHP echo()函数讲解
Feb 15 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 PHP
如何在PHP中使用数组
Jun 09 PHP
如何利用PHP实现上传图片功能详解
Sep 24 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 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
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
Prototype使用指南之array.js
2007/01/10 Javascript
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
2011/06/27 Javascript
IE事件对象(The Internet Explorer Event Object)
2012/06/27 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
easyui validatebox验证
2016/04/29 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
在iFrame子页面里实现模态框的方法
2018/08/17 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
Python命令行解析模块详解
2018/02/01 Python
使用Python处理BAM的方法
2018/09/28 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
Python标准库json模块和pickle模块使用详解
2020/03/10 Python
python构造IP报文实例
2020/05/05 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
医学专业毕业生推荐信
2013/11/14 职场文书
区域销售经理职责
2013/12/22 职场文书
大学生思想汇报范文
2013/12/31 职场文书
古汉语文学求职信范文
2014/03/16 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
anaconda python3.8安装后降级
2021/06/11 Python
一文搞懂php的垃圾回收机制
2021/06/18 PHP