Heim  >  Artikel  >  Backend-Entwicklung  >  So extrahieren Sie zufällig mehrere Elemente aus einem PHP-Array (drei Methoden)

So extrahieren Sie zufällig mehrere Elemente aus einem PHP-Array (drei Methoden)

PHPz
PHPzOriginal
2023-04-12 09:18:572698Durchsuche

In der PHP-Entwicklung müssen wir oft mehrere Elemente zufällig aus einem Array extrahieren. Manchmal müssen wir zufällig ein paar glückliche Benutzer aus einer Benutzerliste auswählen, um ihnen Geschenke zu machen. Oder wir müssen zufällig mehrere Gerichte aus einer Speisekarte als empfohlene Gerichte auswählen. In diesem Artikel erfahren Sie, wie Sie in PHP mehrere Elemente zufällig aus einem Array extrahieren.

Methode 1: Shuffle- und array_slice-Funktionen verwenden

Die Shuffle-Funktion kann die Elemente des Arrays stören und jedes Element im Array zufällig neu anordnen. Verwenden Sie dann die Funktion array_slice, um eine bestimmte Anzahl von Elementen aus dem Array zu extrahieren. Diese Methode ist einfach und leicht verständlich und für kleine Arrays geeignet.

Der Code lautet wie folgt:

<?php
$array = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
shuffle($array);
$rand_keys = array_rand($array, 3);
$result = array_slice($array, $rand_keys[0], 3);
print_r($result);
?>

Analyse:

  1. Definieren Sie ein Array $array, das 6 Elemente enthält.
  2. Verwenden Sie die Shuffle-Funktion, um die Array-Elemente zufällig zu sortieren.
  3. Verwenden Sie die Funktion array_rand, um die Indexpositionen von 3 Elementen aus dem verschlüsselten Array zufällig auszuwählen.
  4. Verwenden Sie die Funktion array_slice, um 3 zufällige Elemente aus dem Array abzurufen.
  5. Drucken Sie abschließend das Ergebnis aus.

Methode 2: Verwenden Sie die Funktion array_rand.

Die Funktion array_rand kann den Index eines oder mehrerer zufälliger Elemente aus dem Array direkt zurückgeben. Diese Methode eignet sich gut für große Arrays.

Der Code lautet wie folgt:

<?php
$array = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
$rand_keys = array_rand($array, 3);
$result = array();
foreach ($rand_keys as $key) {
    $result[] = $array[$key];
}
print_r($result);
?>

Analyse:

  1. Definieren Sie ein Array $array, das 6 Elemente enthält.
  2. Verwenden Sie die Funktion array_rand, um die Indexpositionen von 3 zufälligen Elementen aus dem Array abzurufen.
  3. Verwenden Sie eine foreach-Schleife, um zufällig ausgewählte Elemente zum Ergebnisarray hinzuzufügen.
  4. Drucken Sie abschließend das Ergebnis aus.

Methode 3: Verwenden Sie die mt_rand-Funktion

Die mt_rand-Funktion kann eine zufällige Ganzzahl innerhalb eines angegebenen Bereichs zurückgeben, sodass sie zum Generieren zufälliger Array-Schlüssel verwendet werden kann . Diese Methode ist relativ ineffizient und für kleine Arrays geeignet.

Der Code lautet wie folgt:

<?php
$array = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
$keys = array_keys($array);
$total = count($keys);
$pick_num = 3;
$rand_keys = array();
$result = array();
while (count($rand_keys) < $pick_num) {
    $rand_keys[] = $keys[mt_rand(0, $total-1)];
}
foreach ($rand_keys as $key) {
    $result[] = $array[$key];
}
print_r($result);
?>

Analyse:

  1. Definieren Sie ein Array $array, das 6 Elemente enthält.
  2. Verwenden Sie die Funktion array_keys, um das Array $key abzurufen, das die Sammlung von Schlüsseln darstellt.
  3. Ermitteln Sie die Gesamtlänge des Arrays $total.
  4. Definieren Sie die Variable $pick_num, die die Anzahl der herauszunehmenden Elemente darstellt.
  5. Definieren Sie ein $rand_keys-Array, um zufällig abgerufene Schlüssel zu speichern.
  6. Verwenden Sie eine Schleife, um tatsächliche Zufallsschlüssel zu generieren. Wenn die Anzahl der $rand_keys $pick_num erreicht, brechen Sie aus der Schleife aus.
  7. Verwenden Sie eine foreach-Schleife, um zufällig ausgewählte Elemente zum Ergebnisarray hinzuzufügen.
  8. Drucken Sie abschließend das Ergebnis aus.

Die oben genannten sind drei Möglichkeiten, mehrere Elemente aus einem PHP-Array zufällig auszuwählen. Je nach tatsächlicher Situation können verschiedene Methoden ausgewählt werden. Für große Arrays kann die Funktion array_rand usw. ausgewählt werden. Dieser Vorgang scheint einfach zu sein, kann jedoch das Produkterlebnis verbessern, den Spaß steigern und das Benutzererlebnis bereichern.

Das obige ist der detaillierte Inhalt vonSo extrahieren Sie zufällig mehrere Elemente aus einem PHP-Array (drei Methoden). 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