PHP array_rand():随机获取数组元素
随机获取数组元素就是在不改变数组的基础上,从数组中随机的选取一个或多个元素,比如我们在网页上随机显示不同的广告,或者推荐不同的文章等等,PHP 中提供了 array_rand() 函数来帮助我们完成这一功能,下面就来详细介绍一下这个函数。
array_rand() 函数可以从数组中随机获取一个或多个元素,并返回获取的数组键值。该函数使用了伪随机数产生算法,所以不适合密码学场景,其语法格式如下:
【示例】使用 array_rand() 函数随机获取数组元素。
array_rand() 函数可以从数组中随机获取一个或多个元素,并返回获取的数组键值。该函数使用了伪随机数产生算法,所以不适合密码学场景,其语法格式如下:
array_rand($array [, $num = 1])
其中,$array 为待操作的数组;$num 为可选参数,用于指明想要从 $array 中获取多少个数组元素。提示:如果省略 $num 参数,函数默认会返回一个随机的数组键名,如果获取的数量($num)超过了 $array 的长度,就会导致 E_WARNING 错误,并返回 NULL。
如果只需要获取一个元素,array_rand() 函数会返回获取到的键名,否则就返回包含随机键名的数组。函数运行成功后,就可以根据随机获取到的数组键值来获取具体的值。【示例】使用 array_rand() 函数随机获取数组元素。
<?php $array = array( 'name' => '新宝库', 'url' => 'https://www.xinbaoku.com/php/', 'title' => 'PHP教程', 'article' => 'array_rand() 函数' ); echo '<pre>'; var_dump(array_rand($array)); var_dump(array_rand($array, 2)); var_dump(array_rand($array, 2)); var_dump(array_rand($array, 5)); ?>运行结果如下:
string(7) "article"
array(2) {
[0]=>
string(3) "url"
[1]=>
string(5) "title"
}
array(2) {
[0]=>
string(4) "name"
[1]=>
string(3) "url"
}
NULL
<?php function verCode(){ $arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h','i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's','t', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D','E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ); $newArr = array_rand($arr, 4); $str = ''; foreach ($newArr as $key => $value) { $str .= $arr[$value]; } return $str; } echo verCode().'<br>'; echo verCode().'<br>'; echo verCode().'<br>'; ?>运行结果如下:
EFG5
jIO0
pw56
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算