Heim  >  Artikel  >  Backend-Entwicklung  >  So wählen Sie zufällig mehrere Elemente aus einem PHP-Array aus

So wählen Sie zufällig mehrere Elemente aus einem PHP-Array aus

PHPz
PHPzOriginal
2023-04-20 10:10:521055Durchsuche

In den letzten Jahren wurde die PHP-Sprache aufgrund der rasanten Entwicklung der Internet-Technologie und des Beginns des Big-Data-Zeitalters immer häufiger bei der Entwicklung von Webanwendungen eingesetzt. Unter diesen ist Array einer der wichtigsten Datentypen in PHP. Es kann mehrere Daten speichern und Programmierern die Verarbeitung mehrerer Daten erleichtern. Im eigentlichen Entwicklungsprozess müssen wir häufig mehrere Elemente zufällig aus einem Array entfernen. Dieser Artikel wurde geschrieben, um das Problem der zufälligen Auswahl mehrerer Elemente aus einem PHP-Array zu lösen.

1. array_rand-Funktion

PHP bietet eine leistungsstarke Funktion array_rand(), die die Indizes eines oder mehrerer Elemente zufällig aus einem Array extrahieren kann. Konkret hat die Funktion array_rand() die folgende Form:

array array_rand ( array $input [, int $num_req = 1 ] )

wobei der $input-Parameter a ist Ein erforderlicher Parameter, der das zu verarbeitende Array angibt. Der Parameter $num_req ist ein optionaler Parameter, der die Anzahl der Elemente angibt, die zufällig entnommen werden sollen. Der Standardwert ist 1. Der Rückgabewert dieser Funktion ist ein Array mit zufälligen Indizes (wenn der Parameter $num_req größer als 1 ist) oder ein zufälliger Index (wenn der Parameter $num_req gleich 1 ist). Zum Beispiel:

<?php
$colors = array("red", "green", "blue", "yellow", "purple");
$rand_keys = array_rand($colors, 3);
echo $colors[$rand_keys[0]] . "\n";
echo $colors[$rand_keys[1]] . "\n";
echo $colors[$rand_keys[2]] . "\n";
?>

Im obigen Code enthält das $colors-Array 5 Farbzeichenfolgen. Mit der Funktion array_rand() können wir die Schlüsselnamen von drei Elementen zufällig extrahieren und ihre entsprechenden Werte der Reihe nach ausgeben. Es ist zu beachten, dass der Wert von $rand_keys ein Array ist, das 3 Schlüsselnamen enthält und deren Werte zwischen 0 und 4 liegen (da der Index des Arrays bei 0 beginnt zu zählen).

2. Shuffle-Funktion

Zusätzlich zur Verwendung der Funktion array_rand() bietet PHP auch eine Funktion namens shuffle(), die die Elemente in einem Array zufällig anordnen kann die Bestellung. Insbesondere hat die Funktion shuffle() die folgende Form:

bool shuffle ( array &$array )

Unter diesen ist der Parameter $array ein erforderlicher Parameter, der dies anzeigt Es handelt sich um ein randomisiertes sortiertes Array. Der Rückgabewert dieser Funktion ist ein boolescher Wert, der angibt, ob das Array erfolgreich neu angeordnet wurde. Zum Beispiel:

<?php
$numbers = range(1, 10);
shuffle($numbers);
foreach ($numbers as $number) {
    echo "$number ";
}
?>

Im obigen Code enthält das $numbers-Array 10 ganze Zahlen von 1 bis 10. Wir ordnen sie mithilfe der Funktion shuffle() in zufälliger Reihenfolge neu und geben jede einzelne durch foreach traversal aus Wert des Elements.

3. Verwenden Sie array_slice und array_rand in Kombination

Darüber hinaus können wir auch array_rand() und array_slice() in Kombination verwenden, um eine Reihe von Elementen zufällig aus dem Array zu extrahieren . Operationen an Elementen. Konkret verwenden wir zunächst die Funktion array_rand(), um das Array der Indizes der Elemente abzurufen, die zufällig abgerufen werden müssen, und verwenden dann die Funktion array_slice(), um die entsprechenden Elemente basierend auf diesen Indizes abzurufen. Das Codebeispiel lautet wie folgt:

<?php
$colors = array("red", "green", "blue", "yellow", "purple");
$rand_keys = array_rand($colors, 3);
$rand_colors = array();
foreach ($rand_keys as $key) {
    $rand_colors[] = $colors[$key];
}
print_r($rand_colors);
?>

Der obige Code implementiert die Operation des zufälligen Entfernens von 3 Elementen aus dem $colors-Array. Zuerst verwenden wir die Funktion array_rand(), um drei zufällige Indizes herauszunehmen, dann durchlaufen wir diese Indizes nacheinander und fügen die entsprechenden Elemente dem Array $rand_colors hinzu. Schließlich geben wir die Werte des Arrays $rand_colors über die Funktion print_r() aus.

Zusammenfassend lässt sich sagen, dass das Problem der zufälligen Auswahl mehrerer Elemente aus einem PHP-Array auf verschiedene Arten gelöst werden kann, einschließlich der Funktionen array_rand(), shuffle() und array_slice(). In der tatsächlichen Entwicklung muss die am besten geeignete Methode entsprechend der spezifischen Situation ausgewählt werden.

Das obige ist der detaillierte Inhalt vonSo wählen Sie zufällig mehrere Elemente aus einem PHP-Array aus. 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