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 MsSql server时遇到的中文编码问题
Jun 11 PHP
php 验证码实例代码
Jun 01 PHP
ThinkPHP视图查询详解
Jun 30 PHP
2014年10个最佳的PHP图像操作库
Jul 14 PHP
php实现格式化多行文本为Js可用格式
Apr 15 PHP
基于laravel制作APP接口(API)
Mar 15 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
ThinkPHP简单使用memcache缓存的方法
Nov 15 PHP
PHP MYSQL简易交互式站点开发
Dec 27 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
PHP+JQuery+Ajax实现分页方法详解
2016/08/06 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
如何确保JavaScript的执行顺序 之jQuery.html深度分析
2011/03/03 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
深入浅析python3中的unicode和bytes问题
2019/07/03 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
python中调试或排错的五种方法示例
2019/09/12 Python
python dataframe NaN处理方式
2019/12/26 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
利用Python函数实现一个万历表完整示例
2021/01/23 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
Hawes & Curtis澳大利亚官网:英国经典服饰品牌
2018/10/29 全球购物
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
岗位职责风险点
2014/03/12 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle