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('apple', 'banana', 'orange', 'watermelon', 'grape', 'pear'); shuffle($array); $rand_keys = array_rand($array, 3); $result = array_slice($array, $rand_keys[0], 3); print_r($result); ?>
Analyse:
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('apple', 'banana', 'orange', 'watermelon', 'grape', 'pear'); $rand_keys = array_rand($array, 3); $result = array(); foreach ($rand_keys as $key) { $result[] = $array[$key]; } print_r($result); ?>
Analyse:
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('apple', 'banana', 'orange', 'watermelon', 'grape', 'pear'); $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:
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!