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.
Première méthode :
Le code est le suivant :
<?php $numbers = range (1,50); //shuffle 将数组顺序随即打乱 shuffle ($numbers); //array_slice 取该数组中的某一段 $num=6; $result = array_slice($numbers,0,$num); print_r($result); ?>
Méthode deux :
Le code est le suivant :
<?php $numbers = range (1,20); //播下随机数发生器种子,可有可无,测试后对结果没有影响 srand ((float)microtime()*1000000); shuffle ($numbers); //跳过list第一个值(保存的是索引) while (list(, $number) = each ($numbers)) { echo "$number "; } ?>
Troisième méthode :
Le code est le suivant :
<?php function NoRand($begin=0,$end=20,$limit=5){ $rand_array=range($begin,$end); shuffle($rand_array);//调用现成的数组随机排列函数 return array_slice($rand_array,0,$limit);//截取前$limit个 } print_r(NoRand()); ?>
Ce qui précède peut être compris entre 1 et 20 Générer aléatoirement 5 valeurs uniques
Méthode 4 :
Le code est le suivant :
<?php $tmp=array(); while(count($tmp)<5){ $tmp[]=mt_rand(1,20); $tmp=array_unique($tmp); } print_r($tmp); ?>
Méthode 5 :
Le code est le suivant :
<?php $tmp = range(1,30); print_r(array_rand($tmp,10)); ?>
Cela peut être plus simple que cela (ps : si la taille du pas est spécifiée dans la plage, vous doit faire attention à savoir si le deuxième paramètre de array_rand dépasse la longueur de $tmp ).
PHP fournit une fonction de tableau très riche.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.Cet article peut être considéré comme un 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!