python随机取数组元素_PHParray_rand():随机获取数组
元素
随机获取数组元素就是在不改变数组的基础上,从数组中随机的选取⼀个或多个元素,⽐如我们在⽹页上随机显⽰不同的⼴告,或者推荐不同的⽂章等等,PHP 中提供了 array_rand() 函数来帮助我们完成这⼀功能,下⾯就来详细介绍⼀下这个函数。
array_rand() 函数可以从数组中随机获取⼀个或多个元素,并返回获取的数组键值。该函数使⽤了伪随机数产⽣算法,所以不适合密码学场景,其语法格式如下:
array_rand($array [, $num = 1])
其中,$array 为待操作的数组;$num 为可选参数,⽤于指明想要从 $array 中获取多少个数组元素。
提⽰:如果省略 $num 参数,函数默认会返回⼀个随机的数组键名,如果获取的数量($num)超过了 $array 的长度,就会导致
E_WARNING 错误,并返回 NULL。
如果只需要获取⼀个元素,array_rand() 函数会返回获取到的键名,否则就返回包含随机键名的数组。函数运⾏成功后,就可以根据随机获取到的数组键值来获取具体的值。
【⽰例】使⽤ array_rand() 函数随机获取数组元素。
$array = array(
'name' => 'C语⾔中⽂⽹',
'url' => 'c.biancheng/php/',
'title' => 'PHP教程',
'article' => 'array_rand() 函数'
);
echo '
';
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
鉴于 array_rand() 函数的特点,我们可以使⽤它来实现⽣成随机验证码的功能,代码如下所⽰:
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().'
';
echo verCode().'
';
echo verCode().'
';
python获取数组长度>
运⾏结果如下:
EFG5
jIO0
pw56
如果将⾃定义函数 verCode() 中数组 $arr 的值换成⼀个个中⽂字符的话,还能实现类似中⽂验证码的功能。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论