2-10练习,数组函数生成随机码​arry_rand(arry_flip())

2-10练习,数组函数生成随机码​arry_rand(arry_flip())

arry_rand(arry_flip())和arry_flip(arry_rand())这两者为什么只有前面的可以生成随机码?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

您好,函数应该是array_flip(),array_rand()。

array_flip()函数交换数组中的键和值。

array_rand()函数从数组中随机取出一个或多个单元。

请注意两个函数的作用,具体的函数嵌套效果请同学反馈完整的代码,以便查找原因。祝学习愉快!

  • 慕田峪3102890 提问者 #1
    <?php $a=range(0,9); $b=range('a','z'); $c=range('A','Z'); //验证码可以是数字,小写字母或大写字母,将$a,$b,$c合并成一个数组$newArr $newArr=array_merge($a,$b,$c); //1.请在这里使用for循环从数组$newArr随机抽取四个元素组成四位验证码并输出 for($i=0;$i<4;$i++){ echo $newArr[mt_rand(0,count($newArr)-1)]; } echo '<br/><br/>'; //2.请在这里使用数组函数array_rand()、array_flip(),join()生成四位验证码并输出 $res=join(array_flip(array_rand($newArr,4))); echo $res; //第二种方式两个函数位置改变了就不能输出四位随机数了
    2019-03-04 17:15:31
  • 好帮手慕查理 回复 提问者 慕田峪3102890 #2
    您好,array_rand的返回值为:如果只取出一个,array_rand() 返回随机单元的键名。 否则就返回包含随机键名的数组。 完成后,就可以根据随机的键获取数组的随机值。由于array_rand返回的是键名,那么再使用array_flip()函数交换数组中的键和值,此时就是将原本的键值0123处理为了键值。因此最后的结果并不会改变。祝学习愉快!
    2019-03-04 17:37:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师