Heim  >  Artikel  >  Backend-Entwicklung  >  Die PHP-Rand()-Zufallsfunktion generiert einen Zufallszahlencode

Die PHP-Rand()-Zufallsfunktion generiert einen Zufallszahlencode

高洛峰
高洛峰Original
2016-11-29 16:01:44946Durchsuche

Lassen Sie uns zunächst die von PHP bereitgestellte Zufallszahlenfunktion rand() kennenlernen. Die spezifische Verwendung ist wie folgt:

rand(min,max).

Die optionalen Parameter min und max können dazu führen, dass rand() eine pseudozufällige Ganzzahl zwischen 0 und rand_max zurückgibt. Wenn Sie beispielsweise eine Zufallszahl zwischen 5 und 15 (einschließlich) wünschen, verwenden Sie rand(5, 15).

Lassen Sie mich unten ein konkretes Beispiel betrachten. Wir führen einen einfachen Funktionsaufruf durch, ohne bestimmte Parameter festzulegen. Der Code ist wie folgt :

Erhaltenes Ergebnis: 652696728 (zufälliges Ergebnis) 1. Verwenden Sie PHP, um Zufallszahlen innerhalb des angegebenen Bereichs zu generieren Um zwei Zufallszahlen zwischen Zahlen zu generieren, müssen wir zwei Parameter für Rand festlegen: Auf diese Weise liegt das Ergebnis, das wir erhalten, unter unserer Kontrolle, es sollte minnum <= result <= maxnum; sein, vorausgesetzt, wir möchten PHP verwenden Um eine Zufallszahl zwischen 10000 und 2000 zu generieren, sollte unser Code wie folgt geschrieben werden:

echo(rand(1000,2000));?>

Es ist ganz einfach, hier ist etwas Etwas komplizierter. Wir haben am Anfang dieses Artikels gesagt, dass Zufallszahlen eine große Rolle spielen. Wir können PHP-Zufallszahlen verwenden, um einige komplexe Probleme zu lösen. Die Verwendung von PHP zum Erhalten zufälliger Elemente in einer Sammlung setzt voraus, dass wir Sie müssen sie aus einem Array abrufen. Der Code lautet wie folgt:

$my_array=array('asp','php','webpage','ajax','css',' jquery','html');

echo($my_array[rand(0,6)]);

Wie Sie sich vorstellen können, kann das Ergebnis jedes in enthaltene Element sein Beachten Sie, dass das Array my_array sieben Elemente enthält. Wir setzen die Parameter von rand() auf 0 bis 6. Als nächstes verwenden wir zwei Sätze von Zufallszahlen, um die Funktion des obigen Beispiels zu verbessern . Wir benötigen eine Zufallszahl für die bedingte Beurteilung und die andere Zufallszahl. Die Ausgabe der Elemente ist wie folgt:

$my_array=array('asp','php','javascript','ajax'. ,'css','jquery','html');

$repetition=rand(0,6);

for($i=0;$i<=$repetition; $i++){

echo('ich lerne ' . $my_array[rand(0,6)]);

}

Das Ergebnis, das wir erhalten, könnte wie folgt aussehen:

Wir erhalten im ersten Durchgang drei Ergebnisse, da wir eine Zufallszahl verwenden, um die Anzahl der angezeigten Ergebnisse zu begrenzen sind nicht nur zufällig in Bezug auf die Artikel, sondern auch zufällig in der Anzahl der angezeigten Ergebnisse.

Der zweite Durchlauf brachte sieben Ergebnisse

Vielleicht werden Sie sich fragen, ob PHP-Zufallszahlen nur diese langweiligen Ergebnisse erzielen können Dinge? rand() scheint nicht so wichtig zu sein; Sie denken überall darüber nach. Sichtbare Verifizierungscodes, zufällige Artikelextraktion in einigen CMS-Systemen, Zuweisung von Download-Adressen usw. In diesen Anwendungen spielen Zufallszahlen eine wichtige Rolle Darüber hinaus sind im Bereich Sicherheit und Algorithmen auch viele Anwendungen von Zufallszahlen einer eingehenden Untersuchung wert, wie z. B. die Struktur von Verschlüsselungs- und Kongruenzmethoden. Der Code lautet wie folgt:

$ip2id= Round(rand(600000, 2550000) / 10000); //Die erste Methode, direkt generieren

$ip3id= Round(rand(600000, 2550000) / 10000); 🎜>

$ip4id= Round(rand(600000, 2550000) / 10000);

// Das Folgende ist die zweite Methode, wählen Sie zufällig aus den folgenden Daten aus

$arr_1 = array("218", "218", "66", "66", "218", "218", "60", "60", "202", "204", "66", "66", „66“, „59“, „61“, „60“, „222“, „221“, „66“, „59“, „60“, „60“, „66“, „218“, „218“. „“, „62“, „63“, „64“, „66“, „66“, „122“, „211“);

$randarr= mt_rand(0,count($arr_1)- 1);

$ip1id = $arr_1[$randarr];

echo $ip1id ;

echo $ip2id;

echo ".";

echo $ip3id; ;

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