Heim  >  Artikel  >  Backend-Entwicklung  >  So generieren Sie in PHP eindeutige Zufallszahlen

So generieren Sie in PHP eindeutige Zufallszahlen

WBOY
WBOYOriginal
2016-08-08 09:33:16938Durchsuche

So generieren Sie eindeutige Zufallszahlen in PHP

Ob es sich um eine Webanwendung, ein WAP oder eine mobile Anwendung handelt, Zufallszahlen haben ihren Platz. In mehreren kleinen Projekten, mit denen ich kürzlich in Kontakt gekommen bin, 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 (ps: Methoden 1, 4). , und 5 sind meine am häufigsten verwendeten, der Rest wird aus dem Internet gesammelt)

Methode 1:

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

Methode 2:

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

Methode 3:

<span><?php <span>function</span> NoRand($begin=0,$end=20,$limit=5){ 
$rand_array=range($begin,$end); 
shuffle($rand_array);<span>//调用现成的数组随机排列函数 </span> <span>return</span> array_slice($rand_array,0,$limit);<span>//截取前$limit个 </span> } 
print_r(NoRand()); 
?></span>

Das Obige kann zufällig 5 eindeutige Werte zwischen 1 und 20 generieren

Methode 4:

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

Methode 5:

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

Dies ist möglicherweise einfacher als der Aufruf (ps: Wenn die Schrittgröße im Bereich angegeben ist, müssen Sie darauf achten, ob der zweite Parameter von array_rand die Länge von $tmp überschreitet).



Das Obige stellt vor, wie man sich nicht wiederholende Zufallszahlen in PHP generiert, einschließlich der relevanten Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

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