php封装生成随机数函数
Posted opyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php封装生成随机数函数相关的知识,希望对你有一定的参考价值。
随机数函数Random(num,min,max);
num:生成的个数
min:最小的数
max:最大的数。
<?php //生成随机20个1-80内不重复的随机数 //思路:也没什么思路,就是单纯的生成20个不重复的数字。 //如果有重复,那就在调用一遍生成函数哈哈哈 //这样子的好处是,纯天然无污染,出来的数据不会有二次生成的感觉。 //问我为什么这样说?你把第33行的注释取消掉就知道了。。。 //感觉自己好蠢啊,花了3小时钻研这个。。。 //生成的随机数已经转换成全局变量了,直接echo $Genrandom就行 $number = array(); function Generate(){ for($i=0;$i<20;$i++){ $ran=rand(1,80); $number[$i] = $ran; $number=array_filter(array_unique($number)); } $unnum=20-count($number); if($unnum > 0){ Check($number); }else{ sort($number); echo "生成成功:"; for($k=0;$k<20;$k++){ echo $number[$k].","; } $GLOBALS[‘GenRandom‘] = $number; } } function Check($number1){ $unnum1=20-count($number1); if($unnum1 > 0){ //echo "还少".$unnum1."个数"."重新生成中!"; Generate(); } } Generate(); ?>
现在代码就是这样了,怎样才能封装好这个Random函数呢,据说PHP的闭包逻辑很乱,变量作用域问题搞不懂,我都不知道该如何设置返回值。。。
希望能有人能够指点我一下,封装一个函数,具体的步骤思路是什么。
以上是关于php封装生成随机数函数的主要内容,如果未能解决你的问题,请参考以下文章