php 利用array_slice函数获取随机数组或前几条数据


Posted in PHP onSeptember 30, 2015

先给大家说下基本语法:

array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )

array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。 

如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。 

如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。 

注意 array_slice() 默认将重置数组的键。自 PHP 5.0.2 起,可以通过将 preserve_keys 设为 TRUE 来改变此行为。

$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, );  //返回下标开始的数组 returns "c", "d", and "e"
$output = array_slice($input, -, ); // returns "d"
$output = array_slice($input, , ); // returns "a", "b", and "c"
// note the differences in the array keys
print_r(array_slice($input, , -));
print_r(array_slice($input, , -, true));

需要返回随机几条数据的话,可以先用shuffle($input);打乱原始数组,再用array_slice获取

PS:PHP array_slice() 函数

定义和用法

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

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

语法

array_slice(array,offset,length,preserve)

 

参数 描述
array 必需。规定输入的数组。
offset 必需。数值。规定取出元素的开始位置。 如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。
length 可选。数值。规定被返回数组的长度。 如果 length 为正,则返回该数量的元素。 如果 length 为负,则序列将终止在距离数组末端这么远的地方。 如果省略,则序列将从 offset 开始直到 array 的末端。
preserve 可选。可能的值: ·         true - 保留键 ·         false - 默认 - 重置键

例子 1

<?php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,1,2));
?>

输出:

Array ( [0] => Cat [1] => Horse )

例子 2

带有负的 offset 参数:

<?php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,-2,1));
?>

输出:

Array ( [0] => Horse )

例子 3

preserve 参数设置为 true:

<?php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,1,2,true));
?>

输出:

Array ( [1] => Cat [2] => Horse )

例子 4

带有字符串键:

<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird");
print_r(array_slice($a,1,2));
?>

输出:

Array ( [b] => Cat [c] => Horse )

以上就是本文给大家介绍的php 利用array_slice函数获取数组随机或前几条数据,希望大家喜欢。

PHP 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
discuz安全提问算法
Jun 06 PHP
Zend的MVC机制使用分析(二)
May 02 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
PHP两种去掉数组重复值的方法比较
Jun 19 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
Nov 19 PHP
PHP中如何防止外部恶意提交调用ajax接口
Apr 11 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
Oct 10 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 #PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 #PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 #PHP
解决php表单重复提交实现方法
Sep 29 #PHP
php正则匹配文章中的远程图片地址并下载图片至本地
Sep 29 #PHP
php猜单词游戏
Sep 29 #PHP
PHP代码优化技巧小结
Sep 29 #PHP
You might like
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
2015/10/27 Javascript
jqueryMobile使用示例分享
2016/01/12 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
浅谈jQuery中事情的动态绑定
2017/02/12 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
Python和php通信乱码问题解决方法
2014/04/15 Python
python实现斐波那契递归函数的方法
2014/09/08 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
python实现局域网内实时通信代码
2019/12/22 Python
python圣诞树编写实例详解
2020/02/13 Python
python ETL工具 pyetl
2020/06/07 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
环境监测与治理技术专业求职信
2014/07/06 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
工程部经理岗位职责
2015/02/02 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
个人催款函范文
2015/06/23 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书