Maison > développement back-end > tutoriel php > PHP génère N exemple de code de nombres aléatoires non répétitifs

PHP génère N exemple de code de nombres aléatoires non répétitifs

怪我咯
Libérer: 2023-03-13 14:14:01
original
1186 Les gens l'ont consulté

Cet article décrit principalement comment utiliser PHP pour générer N instances de nombres aléatoires non répétitivesLe code est le suivant :

<?php
/*
* array unique_rand( int $min, int $max, int $num )
* 生成一定数量的不重复随机数
* $min 和 $max: 指定随机数的范围
* $num: 指定生成数量
*/
function unique_rand($min, $max, $num) {
    $count = 0;
    $return = array();
    while ($count < $num) {
        $return[] = mt_rand($min, $max);
        $return = array_flip(array_flip($return));
        $count = count($return);
    }
    shuffle($return);
    return $return;
}
$arr = unique_rand(1, 25, 16);
sort($arr);
$result = &#39;&#39;;
for($i=0; $i < count($arr);$i++)
{
 $result .= $arr[$i].&#39;,&#39;;
}
$result = substr($result, 0, -1);
echo $result;
?>
Copier après la connexion

Le programme s'exécute comme suit : <🎜. >

Le code est le suivant :

2,3,4,6,7,8,9,10,11,12,13,16,20,21,22,24
Copier après la connexion
Quelques notes supplémentaires :

La fonction mt_rand() est utilisée pour générer des nombres aléatoires. Cette fonction génère des nombres aléatoires quatre fois plus rapidement en moyenne que rand().
La "méthode flip" est utilisée pour supprimer les valeurs en double dans le
tableau, qui consiste à utiliser array_flip() pour échanger deux fois la clé et la valeur du tableau. Cette approche est beaucoup plus rapide que l'utilisation de array_unique(). Avant de renvoyer le tableau, utilisez d'abord shuffle() pour attribuer de nouveaux noms de clés au tableau, en vous assurant que les noms de clés sont des nombres consécutifs de 0 à n. Si cette étape n'est pas effectuée, les noms de clés peuvent devenir discontinus lorsque
supprime les valeurs en double, provoquant des problèmes de parcours.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal