下载鸥 > 网站下载 > 开发教程 > PHP

PHP怎样实现从数组随机取值的效果?

238 2021-04-20 15:20:59

收藏
在开发过程中,我们很多时候会接到猜你喜欢的随机展示效果。这个随机,用php取值要好过MySQL的rand(),但php似乎是不支持随机指定数组取值的,即便有一个array_rand(),也只是随机键不随机值,不好用。

但我们可以换一个解决思路:

PHP怎样实现从数组随机取值的效果?
通过shuffle() + array_slice()的组合,完成从数组中随机取值的效果。

可参考源码如下:
<?php
    $a=array("red","green","blue","yellow","brown","black");
    shuffle($a);
    $b=array_slice($a,0,3);
    print_r($b);
?>

刷新了三次,最终输出的结果分别为
Array ( [0] => green [1] => brown [2] => blue )
Array ( [0] => brown [1] => green [2] => yellow )
Array ( [0] => yellow [1] => brown [2] => green )

这样,我们就实现了PHP数组随机的效果。
 

附注:

如果只需要一个随机值,我们用array_rand()可实现更简练的代码。
<?php
    $a=array("red","green","blue","yellow","brown","black");
    echo $a[array_rand($a)];
?>
这里输出的就是一个随机值
yellow
或是其他。

本文地址:https://xzo.com.cn/develop/php/821.html

有帮助,很赞!

信息来源:下载鸥
信息标签
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP判断某个时间戳(打卡、点餐、签到等)是不是今天记录的
PHP判断某个时间戳(打卡、点餐、签到等)是不是今天记录的

php判断时间戳是不是今天的实现方法:首先创建一个PHP示例文件;指定一个时间,并...

15 999
PHP正则提取字符串中的数字组成数组
PHP正则提取字符串中的数字组成数组

在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...

13 1254
一句话防御首页带问号?的垃圾链接分权重
一句话防御首页带问号?的垃圾链接分权重

任何站点但凡有点流量就会遇到这种情况:首页被人用问号传了参数,恰恰还被收录...

1 359
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解

在php中自带了大量了数组排序函数,使用起来非常简单,下面我们一一来介绍一下...

3 330
PHP怎样实现从数组随机取值的效果?
PHP怎样实现从数组随机取值的效果?

在开发过程中,我们很多时候会接到猜你喜欢的随机展示效果。这个随机,用php取...

1 237
php怎样开启debug调试模式?
php怎样开启debug调试模式?

我们使用php开发网站的时候,经常会需要调试确保功能正常。而如果功能出现异...

0 496
怎样用php批量删除文件或者文件夹?
怎样用php批量删除文件或者文件夹?

在网站建成后的维护与优化阶段,我们会面临无用栏目/数据处理的问题。量小的...

0 269
PHP基础函数介绍:PHP_EOL
PHP基础函数介绍:PHP_EOL

PHP_EOL是一个相当好用的函数,可自动适配多种换行格式,在实际的应用中体验非...

0 378
随机PHP开发教程
php多维数组foreach循环
php多维数组foreach循环

多维数组在实际开发中比较常见,要foreach循环也很简单。...

0 310
php函数介绍之危险的include() - 一句话代码威胁网站安全
php函数介绍之危险的include() - 一句话代码威胁网站安全

include是一个使用比较频繁的函数,通过使用include,我们可以实现快速获取模板...

1 251
php简单的数组介绍与应用
php简单的数组介绍与应用

数组在实际开发过程中运用非常频繁,通过合理运用数组,我们可以顺利实现各种数...

1 251
php函数介绍之htmlspecialchars() 函数
php函数介绍之htmlspecialchars() 函数

htmlspecialchars()函数的作用在于将html标签转化为实体。释义很绕口,我们可...

1 269
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?

页面提交post请求后被宝塔防火墙拦截,查看日志显示错误:参数值长度超过20w已...

1 418
当缓存文件大于4KB,不能用cookie时的替代方案就是session
当缓存文件大于4KB,不能用cookie时的替代方案就是session

鸥哥最近在开发一个项目,出于对用户隐私的保护,数据一概不能存储到数据表,而是...

1 333
ajax发起session请求发现session无效了怎么办?
ajax发起session请求发现session无效了怎么办?

今天遇到这样一个问题:php启用了session,经过测试也发现session生效了。但在a...

1 333
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解

在php中自带了大量了数组排序函数,使用起来非常简单,下面我们一一来介绍一下...

3 330
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入