php批次隨機生成數位不重複

2020-07-16 10:06:47

PHP亂數批次生成:

在PHP中使用rand()函數生成亂數,然後判斷此亂數是否已存在,若不存在就將此亂數存入陣列,多次重複此方法即可批次生成亂數不重複。

/**
 * 隨機多個數位,可設定是否重複
 * @param int $min          
 * @param int $max          
 * @param int $num          
 * @param boolean $re           
 * @return array
 */
function randomNums($min, $max, $num, $re = false)
{
    $arr = array ();
    $t = 0;
    $i = 0;
    // 如果數位不可重複,防止無限死迴圈
    if (! $re)
    {
        $num = min($num, $max - $min + 1);
    }
    do
    {
        // 取亂數
        $t = mt_rand($min, $max);
        if (! $re && isset($arr[$t]))
        {
            // 數位重複
            continue;
        }
        $arr[$t] = $t;
        ++ $i;
    }
    while ($i < $num);
    return $arr;
}
以上就是php批次隨機生成數位不重複的詳細內容,更多請關注TW511.COM其它相關文章!