Heim > Backend-Entwicklung > PHP-Tutorial > Zusammenfassung der Methoden zum Generieren sich nicht wiederholender Zufallszahlen in PHP

Zusammenfassung der Methoden zum Generieren sich nicht wiederholender Zufallszahlen in PHP

怪我咯
Freigeben: 2023-03-13 09:02:02
Original
1192 Leute haben es durchsucht

Dieser Artikel fasst 5 Methoden zum Generieren sich nicht wiederholender Zufallszahlen zusammen. Methoden 1, 2 und 3 sind meine am häufigsten verwendeten Methoden. Es gibt noch andere Methoden, und jeder kann uns gerne die fehlenden Methoden mitteilen, damit wir gemeinsam vorankommen

Ob es sich um eine Webanwendung, ein WAP oder eine mobile Anwendung handelt, Zufallszahlen haben ihren Platz . In mehreren kleinen Projekten, mit denen ich in letzter Zeit konfrontiert war, muss ich mich häufig mit Zufallszahlen oder Zufallsarrays befassen. Daher werde ich einige gängige Methoden zum Generieren sich nicht wiederholender Zufallszahlen in PHP zusammenfassen.

Methode eins:

Der Code lautet wie folgt:

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

Methode zwei:

Der Code lautet wie folgt:

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

Methode drei:

Der Code lautet wie folgt:

<?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()); 
?>
Nach dem Login kopieren

Die oben genannten Werte können zwischen 1 und 20 liegen. Generieren Sie zufällig 5 eindeutige Werte

Methode 4:

Der Code lautet wie folgt:

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

Methode 5:

Der Code lautet wie folgt:

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

Dies kann einfacher sein (ps: Wenn die Schrittgröße im Bereich angegeben ist, können Sie muss darauf geachtet werden, ob der zweite Parameter von array_rand die Länge von $tmp überschreitet).

PHP bietet einen sehr umfangreichen Satz an Array-Funktionen. Wenn Sie eine bessere Methode haben, teilen Sie uns dies bitte mit Ausgangspunkt.

Das obige ist der detaillierte Inhalt vonZusammenfassung der Methoden zum Generieren sich nicht wiederholender Zufallszahlen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage