与数组编程题相关的问题
<?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 星