Holen Sie sich ein zufälliges Array-Element in PHP

Subodh Poudel 20 Juni 2023
  1. Verwenden Sie die Funktion array_rand(), um ein zufälliges Array-Element in PHP zu erhalten
  2. Verwenden Sie die Funktion mt_rand(), um ein zufälliges Array-Element in PHP zu erhalten
  3. Verwenden Sie die Funktion shuffle(), um ein zufälliges Array-Element in PHP zu erhalten
Holen Sie sich ein zufälliges Array-Element in PHP

Dieses Tutorial stellt Methoden vor, um ein zufälliges Element aus einem Array in PHP zu erhalten.

Verwenden Sie die Funktion array_rand(), um ein zufälliges Array-Element in PHP zu erhalten

Wir können die Funktion array_rand() verwenden, um das zufällige Element aus einem Array in PHP zu erhalten. Es verwendet den Zufallszahlengenerator Mersenne Twister für den Randomisierungsalgorithmus.

Die Funktion funktioniert sowohl für die numerischen Arrays als auch für die assoziativen Arrays. Die Funktion array_rand() liefert einen oder mehrere zufällige Schlüssel aus einem Array.

Um die Funktion besser zu verstehen, springen wir in ihre Syntax.

array_rand($array, $num)

Wir können ein Array als ersten Parameter der Funktion angeben. Das zufällige Element wird aus dem Array genommen.

Der Parameter $num ist die Anzahl der zurückzugebenden Zufallswerte. Der Standardwert des Parameters $num ist 1.

Wenn wir Werte größer als 1 angeben, gibt die Funktion mehrere zufällige Schlüssel in einem Array zurück. Folglich kann die Funktion array_rand() Werte in Array, String oder Integer zurückgeben.

Es gibt einen Zeichenfolgenwert zurück, wenn das Eingabearray ein assoziatives Array ist, das Zeichenfolgen als Schlüssel enthält. Für das numerisch indizierte Array ist der Rückgabewert eine Ganzzahl.

Wir können das Beste aus der Funktion array_rand() machen, um das zufällige Element aus einem Array zu finden. Da die Funktion einen zufälligen Schlüssel aus einem Array zurückgibt, können wir den Schlüssel als Index verwenden, um das zufällige Element zu finden.

Erstellen Sie beispielsweise zwei Array-Variablen, $array und $age. Erstellen Sie ein indiziertes Array in der Variablen $planets und ein assoziatives Array in den Variablen $age.

Als nächstes schreiben Sie eine benutzerdefinierte Funktion find_random_item($array). Verwenden Sie innerhalb der Funktion die Funktion array_rand() mit $array als Parameter.

Weisen Sie die Funktion der Variablen $rand_key zu. Verwenden Sie dann die Variable $rand_key im $array und zeigen Sie das zufällige Element an.

Rufen Sie nach dem Schließen des Funktionskörpers die Funktion find_random_item() einmal mit dem Array $planets und erneut mit dem Array $age als Argumente auf.

So können wir die zufälligen Elemente aus einem Array mit der PHP-Funktion array_rand() finden.

Beispielcode:

<?php
$planets = array("Mercury", "Venus", "Earth", "Mars", "Jupiter");
$age = array("Paul"=>"35", "Bob"=>"37", "Jack"=>"43");

function find_random_item($array){
 $rand_key= array_rand($array);
 $rand_element = $array[$rand_key];
 echo $rand_element."<br>";
}

find_random_item($planets);
find_random_item($age);

Ausgang:

Mars
37

Verwenden Sie die Funktion mt_rand(), um ein zufälliges Array-Element in PHP zu erhalten

Wir können auch die Funktion mt_rand() verwenden, um ein zufälliges Array-Element zu erhalten. Der Name der Funktion leitet sich vom Mersenne Twister Random Number Generator ab.

Die Funktion gibt eine zufällige ganze Zahl zurück. Wir können diese zufällige Ganzzahl als Index verwenden, um ein zufälliges Array-Element zu erhalten.

Wir müssen den Bereich der zurückzugebenden Zufallszahl als Parameter in der Funktion angeben. Schauen wir uns die Syntax der Funktion mt_rand() an.

mt_rand($min, $max)

Dabei ist $min der Minimalwert, der generiert werden könnte, und $max der Maximalwert. Beispielsweise kann für die Funktion mt_rand(10,20) die Zufallszahl 10 bis 20 sein.

Der erste Schritt besteht darin, einen zufälligen Schlüssel für das Array zu generieren. Wir können 0 für die Option $min und die Zahl eins kleiner als die Länge des Arrays für die Option $max wählen.

Als Ergebnis wird ein zufälliger Schlüssel für das Array generiert. Wir können die Funktion count() verwenden, um die Länge des Arrays zu generieren.

Nachdem wir den zufälligen Schlüssel gefunden haben, können wir das zufällige Element finden.

Erstellen Sie beispielsweise ein Indexarray in der Variablen $Länder. Als nächstes verwenden Sie die Funktion mt_rand(), wobei 0 der erste Parameter und count($countries)-1 der zweite Parameter ist.

Speichern Sie den Zufallsschlüssel in einer Variablen namens $rand_key. Verwenden Sie als Nächstes den $rand_key als Index im Array $countries, um ein zufälliges Element aus dem Array zu generieren.

Wir können die Funktion mt_rand() nur für das indizierte Array zur Generierung eines zufälligen Elements verwenden.

Beispielcode:

$countries = array("Malaysia", "Vietnam", "Ecuador", "Malta", "Indonesia");

$rand_key = mt_rand(0, count($countries) - 1);
$rand_element = $countries[$rand_key];
echo $rand_element;

Ausgang:

Ecuador

Verwenden Sie die Funktion shuffle(), um ein zufälliges Array-Element in PHP zu erhalten

Eine der einfachsten Methoden, um ein zufälliges Array-Element zu erhalten, ist die Funktion shuffle(). Die Funktion nimmt ein Array als Parameter und mischt die Reihenfolge der Elemente im Array zufällig.

Die Funktion gibt einen booleschen Wert zurück. Als Ergebnis wird ein neues Array gebildet.

Dann können wir ein beliebiges Element aus dem Array auswählen, um ein zufälliges Element zu erhalten.

Erstellen Sie beispielsweise ein Array in der Variablen $Länder. Verwenden Sie das Array $countries als Funktionsparameter $shuffle.

Verwenden Sie als Nächstes die echo-Anweisung, um den 0-ten Index des $countries-Arrays auszuwählen. Als Ergebnis wird ein zufälliges Array ausgewählt.

Wir können diese Methode sowohl für indizierte als auch für assoziative Arrays verwenden.

Beispielcode:

$countries = array("Malaysia", "Vietnam", "Ecuador", "Malta", "Indonesia");
shuffle($countries);
echo $countries[0];

Ausgang:

Malta
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Verwandter Artikel - PHP Array