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 相关文章推荐
PHP4与PHP5的时间格式问题
Feb 17 PHP
PHP获取url的函数代码
Aug 02 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
PHP生成唯一订单号
Jul 05 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
Laravel中的chunk组块结果集处理与注意问题
Aug 15 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 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
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
基于Zookeeper的使用详解
2013/05/02 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
php中的依赖注入实例详解
2019/08/14 PHP
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
JavaScript中的object转换成number或string规则介绍
2014/12/31 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
Python遍历目录的4种方法实例介绍
2015/04/13 Python
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
2013英文求职信模板范文
2013/11/15 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript