与数组编程题相关的问题
<?php
$a=range(0,9);
$b=range('a','z');
$c=range('A','Z');
//验证码可以是数字,小写字母或大写字母,将$a,$b,$c合并成一个数组$newArr
$newArr = array_merge($a,$b,$c);
//print_r($newArr);
//1.请在这里使用for循环从数组$newArr随机抽取四个元素组成四位验证码并输出
echo '生成的验证码为:';
$str1 = null;
for($n=1;$n<=4;$n++){
$str1 .= $newArr[mt_rand(0,count($newArr)-1)];
}
echo $str1.'<br/>';
//2.请在这里使用数组函数array_rand()、array_flip(),join()生成四位验证码并输出
echo '生成的验证码为:';
$arr_flip = array_flip($newArr);
//print_r($arr_flip);
$str2 = null;
for($j=0;$j<4;$j++){
$arr_rand = array_rand($arr_flip);
$str2 .=$arr_rand;
}
//$arr_rand = array_rand($arr_flip);
echo $str2.'<br/>';这样做可以么?,里面-题目要求2-,我没用到join()这个函数,我只想到前两个函数,请老师指点指点,array_rand()、array_flip(),join(),这3个函数来生成。
29
收起
正在回答
2回答
array_rand ($array[, int $num=1] )
从数组中随机取出一个或多个单元,并返回随机条目的一个或多个'键'。
array 输入的数组。
num 指明了你想取出多少个单元。
使用array_rand()函数不需要再次循环
$str = join(array_rand(array_flip($arr_flip),4)); //1.array_flip将数组键值键名互换 //2.array_rand随机取4个单元 //3.jion将取出的值转化为字符串 echo '生成验证码为:',$str;
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星