在PHP开发的时候,我们经常用到数组,有的时候我们需要随机返回数组中的元素,这个时候我们经常第一个想到的办法就是按数组长度随机键名,可是要知道这只能返回数组键名为数字的数组,键名为字符串的数组要如何处理呢?本文教大家一个随机获取数组元素的简单方法

iOS 随机从数组中取出一个元素 随机获取数组元素_数组

开发工具/浏览器

PHP开发环境(本文使用的是WAMP)

代码编辑器(本文用的是PHPstorm)

谷歌浏览器

步骤/流程

1.首先我们创建一个简单的demo数组用于测试,代码及浏览器运行效果如图所示。

iOS 随机从数组中取出一个元素 随机获取数组元素_字符串_02

iOS 随机从数组中取出一个元素 随机获取数组元素_键值_03

2.通常我们会按数组长度随机键值来获取随机数作为键值获取,可是这种方法不能作用于以字符串为键名的数组,每次只能返回一个随机元素,需要多次随机,容易获取到相同的元素,代码及浏览器运行效果如图所示

iOS 随机从数组中取出一个元素 随机获取数组元素_iOS 随机从数组中取出一个元素_04

iOS 随机从数组中取出一个元素 随机获取数组元素_数组_05

iOS 随机从数组中取出一个元素 随机获取数组元素_键值_06

iOS 随机从数组中取出一个元素 随机获取数组元素_随机 输出数组php_07

3.推荐一个更好的办法就是使用array_rand(array,number)函数,该函数的具体说明如图所示

iOS 随机从数组中取出一个元素 随机获取数组元素_iOS 随机从数组中取出一个元素_08

4.使用array_rand(array,number),默认返回1个数组的随机键名,我们可以根据这个键名获取对应的随机元素值,对字符串键名是也有效的,代码及浏览器运行效果如图所示

iOS 随机从数组中取出一个元素 随机获取数组元素_iOS 随机从数组中取出一个元素_09

iOS 随机从数组中取出一个元素 随机获取数组元素_数组_10

5.使用array_rand(array,number),传入第二个参数还能指定返回的随机键名的数量,可以用于一次性返回多个不重复的随机键值,代码及运行效果如图所示

iOS 随机从数组中取出一个元素 随机获取数组元素_字符串_11

iOS 随机从数组中取出一个元素 随机获取数组元素_iOS 随机从数组中取出一个元素_12

6.总结

1).当我们想要获数组中的随机元素时

2).常我们会按数组长度随机键值来获取随机数作为键值获取,可是这种方法不能作用于以字符串为键名的数组,每次只能返回一个随机元素,需要多次随机,容易获取到相同的元素。

3).使用array_rand(array,number),默认返回1个数组的随机键名,我们可以根据这个键名获取对应的随机元素值,对字符串键名是也有效的,代码及浏览器运行效果如图所示

4).使用array_rand(array,number),传入第二个参数还能指定返回的随机键名的数量,可以用于一次性返回多个不重复的随机键值。

注意事项

PHP有很多实用的函数是大家以前忽略掉的,本系列的文章会为大家详细介绍所有PHP函数

希望本系列的文章能够给大家带来帮助节省大家解决问题的时间