zoukankan      html  css  js  c++  java
  • 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的闭包逻辑很乱,变量作用域问题搞不懂,我都不知道该如何设置返回值。。。

    希望能有人能够指点我一下,封装一个函数,具体的步骤思路是什么。

  • 相关阅读:
    电赛小结
    markdown小结
    一元运算符重载
    二维数组作为函数参数传递剖析(转载)
    C语言内存(转载)
    Effective C++ chapter1:Accustiming Yourself to C++
    C++ 模板
    const
    命令行参数
    AStar算法
  • 原文地址:https://www.cnblogs.com/Opyan/p/10234581.html
Copyright © 2011-2022 走看看