Cet article résume 5 méthodes pour générer des nombres aléatoires non répétitifs. Les méthodes 1, 2 et 3 sont mes méthodes couramment utilisées. Les méthodes 4 et 5 sont là pour vous aider. Il existe encore d'autres méthodes, et chacun est invité à nous faire part des méthodes manquantes, afin que nous puissions progresser ensemble
Qu'il s'agisse d'une application web, d'un WAP ou d'une application mobile, les nombres aléatoires ont leur place . Dans plusieurs petits projets auxquels j'ai été exposé récemment, j'ai souvent besoin de traiter des nombres aléatoires ou des tableaux aléatoires. Par conséquent, je vais résumer quelques méthodes courantes pour générer des nombres aléatoires non répétitifs en PHP.
Méthode 1 :
Copiez le code Le code est le suivant :
< ?php
$numbers = range (1,50);
//shuffle mélange l'ordre du tableau
shuffle ($numbers);
//array_slice prend un certain segment du tableau
$num =6;
$result = array_slice($numbers,0,$num);
print_r($result);
Copier le code Le code est le suivant :
$numbers = range (1,20);
//Sow la graine du générateur de nombres aléatoires, facultatif, cela n'aura aucun impact sur les résultats après test
srand ((float)microtime()*1000000
shuffle (); $numbers);
// Ignorer la première valeur de la liste (l'index est enregistré)
while (list(, $number) = each ($numbers)) {
echo "$number "; 🎜>}
?>
Troisième méthode :
Le code est le suivant :
function NoRand($begin=0,$end=20,$limit=5){Méthode 4 :
Le code est le suivant :
$tmp=array(); 🎜>while(count($tmp)<5){ Le code est tel suit :
$tmp = range(1,30);print_r(array_rand($tmp,10));
?>
Cela peut être plus simple que de l'appeler (ps : Si dans Si la taille du pas est spécifiée dans la plage, vous devez faire attention à savoir si le deuxième paramètre de array_rand dépasse la longueur de $tmp).
PHP fournit un ensemble très riche de fonctions de tableau. La plupart des nombres aléatoires peuvent être générés du point de vue des tableaux. Bien sûr, si vous avez une meilleure méthode, veuillez nous le faire savoir. point de départ.
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!