So generieren Sie mit PHP eine sich nicht wiederholende zufällige 4-stellige Zahl

PHPz
Freigeben: 2023-03-21 16:42:01
Original
3937 Leute haben es durchsucht

In der PHP-Entwicklung müssen wir häufig Zufallszahlen generieren, um bestimmte Funktionen zu implementieren oder Verifizierungscodes usw. zu generieren. Allerdings kann es zu Problemen kommen, wenn diese zufällig generierten Zahlen wiederholt werden. Wie generiert man also in PHP eine sich nicht wiederholende zufällige 4-stellige Zahl? So implementieren Sie es.

Methode 1: Arrays verwenden

Wir können Arrays verwenden, um die Operation der zufälligen Generierung von Zahlen zu erreichen, ohne sie zu wiederholen. Zuerst müssen wir ein Array mit den Zahlen 0-9 definieren und dann zufällig Zahlen aus dem Array auswählen, bis 4 verschiedene Zahlen generiert werden.

Der spezifische Implementierungscode lautet wie folgt:

//定义一个包含0-9的数组
$arr = array(0,1,2,3,4,5,6,7,8,9);

//随机生成4个不同的数字
$numArr = array();
while(count($numArr) < 4){
    $key = array_rand($arr);
    if(!in_array($arr[$key], $numArr)){
        $numArr[] = $arr[$key];
    }
}

//将这四个数字组成一个字符串
$code = implode('', $numArr);
Nach dem Login kopieren

Diese Methode stellt sicher, dass die generierten Zahlen nicht wiederholt werden, indem sie das Array durchläuft und Zahlen zufällig auswählt. Wenn jedoch mehr Zahlen vorhanden sind, nimmt die Anzahl der Schleifen zu und die Zeit zum Generieren von Zufallszahlen wird länger.

Methode 2: PHP-Funktion verwenden

Wir können auch die integrierte PHP-Funktion verwenden, um sich nicht wiederholende Zufallszahlen zu generieren. PHP bietet die Funktion „range()“ zum Generieren eines Arrays von Zahlen innerhalb eines angegebenen Bereichs, die Funktion „shuffle()“ zum Mischen des Arrays und die Funktion „array_slice()“ zum Abfangen einer angegebenen Anzahl von Elementen aus dem Array. Mit diesen Funktionen können wir vierstellige, sich nicht wiederholende Zufallszahlen generieren.

Der spezifische Code lautet wie folgt:

//生成数组0-9
$numArr = range(0, 9);

//打乱数组顺序
shuffle($numArr);

//截取前4个数字,组成4位不重复数字
$code = implode('', array_slice($numArr, 0, 4));
Nach dem Login kopieren

Diese Methode verwendet die mit PHP gelieferte Funktion und die Codemenge ist gering. Wenn die Anzahl jedoch groß ist, müssen auch die Auswirkungen von Array-Unordnung und Abfangen berücksichtigt werden .

Zusammenfassend lässt sich sagen, dass Sie unabhängig davon, ob Sie ein Array oder eine in PHP integrierte Funktion verwenden, nicht wiederkehrende vierstellige Zufallszahlen mit verschiedenen Methoden generieren und eine Methode auswählen können, die Ihren tatsächlichen Anforderungen entspricht.

Das obige ist der detaillierte Inhalt vonSo generieren Sie mit PHP eine sich nicht wiederholende zufällige 4-stellige Zahl. 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