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
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
php时间戳转换的示例
Mar 31 PHP
thinkphp实现数组分页示例
Apr 13 PHP
PHP文件缓存内容保存格式实例分析
Aug 20 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
May 26 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP session垃圾回收机制实例分析
Jun 28 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 PHP
基于ThinkPHP删除目录及目录文件函数
Oct 28 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-redis中的sort排序函数总结
2015/07/08 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
单击某一段文字改写文本颜色
2014/06/06 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
javascript实现列表滚动的方法
2015/07/30 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
2016/12/08 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
浅谈react 同构之样式直出
2017/11/07 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
详解python之多进程和进程池(Processing库)
2017/06/09 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
python-xpath获取html文档的部分内容
2020/03/06 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
就业协议书范本
2014/04/11 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
《孔繁森》教学反思
2014/04/17 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
计划生育标语
2014/06/23 职场文书
网络研修心得体会
2016/01/08 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS