php封裝生成隨機數函數

隨機數函數Random(num,min,max);php

num:生成的個數閉包

min:最小的數dom

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的閉包邏輯很亂,變量做用域問題搞不懂,我都不知道該如何設置返回值。。。spa

但願能有人可以指點我一下,封裝一個函數,具體的步驟思路是什麼。code

相關文章
相關標籤/搜索