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中显示格式化的用户输入
Oct 09 PHP
php 采集书并合成txt格式的实现代码
Mar 01 PHP
PHP 学习路线与时间表
Feb 21 PHP
PHP XML操作的各种方法解析(比较详细)
Jun 17 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
Nov 13 PHP
php显示指定目录下子目录的方法
Mar 20 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
Aug 17 PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 PHP
php显示页码分页类的封装
Jun 08 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 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调用Word组件DCOM权限的问题
2017/12/27 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
javascript 回调函数详解
2014/11/11 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
Python实现的简单发送邮件脚本分享
2014/11/07 Python
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
python实现简单温度转换的方法
2015/03/13 Python
python检测远程udp端口是否打开的方法
2015/03/14 Python
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
Python实现基于SVM的分类器的方法
2019/07/19 Python
python 实现视频 图像帧提取
2019/12/10 Python
python实现将json多行数据传入到mysql中使用
2019/12/31 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
个人担保书格式范文
2014/05/12 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
镇创先争优活动总结
2014/08/28 职场文书
回复函范文
2015/07/14 职场文书
亲情作文之母爱
2019/09/25 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang