Maison >développement back-end >Problème PHP >Le lot PHP génère des nombres de manière aléatoire sans duplication

Le lot PHP génère des nombres de manière aléatoire sans duplication

尚
original
2019-10-29 13:44:173734parcourir

Le lot PHP génère des nombres de manière aléatoire sans duplication

Génération par lots de nombres aléatoires PHP :

Utilisez la fonction rand() en PHP pour générer des nombres aléatoires, puis déterminez si le nombre aléatoire existe déjà. n'existe pas, il existera. Ce nombre aléatoire est stocké dans un tableau Répétez cette méthode plusieurs fois pour générer des nombres aléatoires par lots sans répétition.

/**
 * 随机多个数字,可设定是否重复
 * @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;
}

Recommandé : serveur php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn