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文件上传原理简单分析
May 29 PHP
spl_autoload_register与autoload的区别详解
Jun 03 PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
Jun 25 PHP
codeigniter教程之多文件上传使用示例
Feb 11 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
Jun 20 PHP
php异常处理方法实例汇总
Jun 24 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
php+js实现的无刷新下载文件功能示例
Aug 23 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文件的实现方法
2007/03/19 PHP
PHP 编程安全性小结
2010/01/08 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
浅谈js的异步执行
2016/10/18 Javascript
bootstrap手风琴折叠示例代码分享
2017/05/22 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
python面试题小结附答案实例代码
2019/04/11 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
UNIX文件类型
2013/08/29 面试题
毕业自我评价
2014/02/05 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
复试通知单模板
2015/04/24 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python