Heim  >  Artikel  >  Backend-Entwicklung  >  So generieren Sie sich nicht wiederholende Zufallszahlen in PHP

So generieren Sie sich nicht wiederholende Zufallszahlen in PHP

王林
王林Original
2020-11-04 17:32:433218Durchsuche

So generieren Sie sich nicht wiederholende Zufallszahlen in PHP: Verwenden Sie zunächst die Range-Funktion, um ein Array mit Elementen in einem bestimmten Bereich zu erstellen. Verwenden Sie dann die Shuffle-Funktion, um die Elemente im Array in zufälliger Reihenfolge neu anzuordnen von Elementen aus dem Array.

So generieren Sie sich nicht wiederholende Zufallszahlen in PHP

Implementierungsprinzip:

Mischen Sie die Reihenfolge des Arrays und nehmen Sie dann ein bestimmtes Segment des Arrays.

(Zugehörige Videoempfehlung: Java-Kurs)

Die Methode lautet wie folgt:

Methode 1: Die Funktion

range() erstellt ein Array mit Elementen im angegebenen Bereich. Die Funktion

shuffle() ordnet die Elemente im Array in zufälliger Reihenfolge neu an.

<?php 
//range 是将1到100 列成一个数组 
$numbers = range (1,100); 
//shuffle 将数组顺序随即打乱 
shuffle ($numbers); 
//array_slice 取该数组中的某一段 
$result = array_slice($numbers,0,3); 
print_r($result); 
?>

Methode 2:

<?php 
$numbers = range (1,20); 
srand ((float)microtime()*1000000); 
shuffle ($numbers); 
while (list (, $number) = each ($numbers)) { 
echo "$number "; 
} 
?>

Methode 3:

Verwenden Sie PHP, um zufällig 5 eindeutige Werte zwischen 1 und 20 zu generieren

<?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()); 
?>

oder wenn Sie nicht mischen

<?php 
$tmp=array(); 
while(count($tmp)<5){ 
$tmp[]=mt_rand(1,20); 
$tmp=array_unique($tmp); 
} 
print join(&#39;,&#39;,$tmp); 
?>

Verwandte Empfehlungen: php Ausbildung

Das obige ist der detaillierte Inhalt vonSo generieren Sie sich nicht wiederholende Zufallszahlen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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