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 相关文章推荐
ZF等常用php框架中存在的问题
Jan 10 PHP
PHP连接access数据库
Mar 27 PHP
一个PHP的QRcode类与大家分享
Nov 13 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
Apr 10 PHP
PHP以mysqli方式连接类完整代码实例
Jul 15 PHP
php输入流php://input使用浅析
Sep 02 PHP
php访问数组最后一个元素的函数end()用法
Mar 18 PHP
CI框架简单邮件发送类实例
May 18 PHP
php实现当前页面点击下载文件的简单方法
Sep 22 PHP
PHP常见的几种攻击方式实例小结
Apr 29 PHP
PHP迭代器和生成器用法实例分析
Sep 28 PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 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
人族 Terran 基本策略
2020/03/14 星际争霸
简单的页面缓冲技术
2006/10/09 PHP
PHP中$_SERVER的详细参数与说明
2008/07/29 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
python中的函数用法入门教程
2014/09/02 Python
python+django加载静态网页模板解析
2017/12/12 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Python和Sublime整合过程图示
2019/12/25 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
网站域名和主机:Domain.com
2019/04/01 全球购物
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
农民工工资承诺书范文
2014/03/31 职场文书
节约用电倡议书
2015/04/28 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js