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 相关文章推荐
PHP CKEditor 上传图片实现代码
Nov 06 PHP
ecshop 订单确认中显示省市地址信息的方法
Mar 15 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 PHP
自定义php类(查找/修改)xml文档
Mar 26 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
Jul 31 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP设计模式之注册树模式分析
Jan 26 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 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
人族 TERRAN 概述
2020/03/14 星际争霸
中英文字符串翻转函数
2008/12/09 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
通过bootstrap全面学习less
2016/11/09 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
vue路由跳转时判断用户是否登录功能的实现
2017/10/26 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
python连接mysql实例分享
2016/10/09 Python
Python与R语言的简要对比
2017/11/14 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
pybind11在Windows下的使用教程
2019/07/04 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
python/golang 删除链表中的元素
2020/09/14 Python
南京某软件公司的.net面试题
2015/11/30 面试题
职高毕业生自我鉴定
2013/10/21 职场文书
你懂得怎么写自荐信吗?
2013/12/27 职场文书
会走路的树教学反思
2014/02/20 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
团队激励口号
2014/06/06 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
会计试用期自我评价
2014/09/19 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
《司马光》教学反思
2016/02/22 职场文书
python基础之匿名函数详解
2021/04/21 Python