Maison  >  Article  >  développement back-end  >  Cinq façons de générer des nombres aléatoires non répétitifs en PHP

Cinq façons de générer des nombres aléatoires non répétitifs en PHP

黄舟
黄舟original
2017-11-10 14:15:3711913parcourir

Dans l'article précédent, j'ai présenté la méthode de génération de nombres aléatoires en PHP. Nous savons tous que les nombres aléatoires PHP sont un élément indispensable que ce soit en développement ou dans les applications mobiles. Ils sont souvent utilisés dans le développement quotidien de PHP. nombres, donc aujourd'hui je vais vous présenter cinq façons de générer des nombres aléatoires PHP sans répétition !

Première voie :

<?php 
$numbers = range (1,50); 
//shuffle 将数组顺序随即打乱 
shuffle ($numbers); 
//array_slice 取该数组中的某一段 
$num=6; 
$result = array_slice($numbers,0,$num); 
print_r($result); 
?>

Deuxième voie

<?php 
$numbers = range (1,20); 
//播下随机数发生器种子,可有可无,测试后对结果没有影响
srand ((float)microtime()*1000000); 
shuffle ($numbers); 
//跳过list第一个值(保存的是索引)
while (list(, $number) = each ($numbers)) { 
echo "$number "; 
} 
?>

Méthodes de troisième voie

<?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 générer 5 nombres aléatoires php non répétitifs entre 1 et 20

Quatrième La cinquième méthode

<?php 
$tmp=array(); 
while(count($tmp)<5){ 
$tmp[]=mt_rand(1,20); 
$tmp=array_unique($tmp); 
} 
print_r($tmp);
?>


La cinquième méthode

<?php 
$tmp = range(1,30);
print_r(array_rand($tmp,10));
?>

Cela peut être plus simple que la méthode originale (ps : Si la taille du pas est spécifié dans la plage, vous devez faire attention à savoir si le deuxième paramètre de array_rand dépasse la longueur de $tmp).

Résumé :

PHP fournit une fonction de tableau très riche. La plupart des nombres aléatoires PHP peuvent être générés du point de vue de. tableaux. Bien sûr, si vous avez une meilleure méthode, j'espère qu'elle vous sera utile. Cet article peut être considéré comme un point de départ.

Recommandations associées :

Comment générer des nombres aléatoires en php


Numéro aléatoire PHP


Numéro aléatoire PHP Algorithme de génération aléatoire de l'enveloppe rouge WeChat version 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