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

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

PHPz
Freigeben: 2023-04-17 15:09:09
Original
1235 Leute haben es durchsucht

Beim Schreiben von PHP-Programmen müssen Sie häufig zufällige Operationen an Arrays ausführen, z. B. die zufällige Auswahl mehrerer Elemente aus einem Array. In diesem Artikel wird erläutert, wie diese Funktion über die PHP-Sprache implementiert wird.

1. Verwenden Sie die Funktion array_rand

Die Funktion array_rand kann zufällig eine bestimmte Anzahl von Elementen aus einem Array auswählen. Sein Funktionsprototyp lautet wie folgt:

array array_rand ( array $array , int $num )
Nach dem Login kopieren

Unter diesen stellt der Parameter $array das Array der auszuwählenden Elemente und der Parameter $num die auszuwählende Anzahl dar. Die Funktion gibt ein Array zurück, das die Schlüssel zufällig ausgewählter Array-Elemente enthält.

Zum Beispiel haben wir das folgende Array:

$data = array(
    'apple',
    'banana',
    'orange',
    'pear',
    'peach',
    'grape'
);
Nach dem Login kopieren

Wir möchten zufällig 3 Elemente aus diesem Array auswählen und den Schlüsselnamen des ausgewählten Elements zurückgeben. Der Code kann wie folgt geschrieben werden:

$keys = array_rand($data, 3);

print_r($keys);
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Array
(
    [0] => 4
    [1] => 2
    [2] => 0
)
Nach dem Login kopieren

Das bedeutet, dass die Elemente mit den Schlüsselnamen 4, 2 und 0 ausgewählt werden. Wir können auf diese Elemente zugreifen, indem wir beispielsweise eine Schleife durchlaufen:

foreach ($keys as $key) {
    echo $data[$key] . '<br>';
}
Nach dem Login kopieren

Das Ausgabeergebnis ist:

peach
orange
apple
Nach dem Login kopieren

2. Verwenden Sie die Funktionen shuffle und array_slice

Eine andere Möglichkeit, Elemente aus einem Array zufällig auszuwählen, besteht darin, die Reihenfolge des Arrays zu ändern. und dann die ersten paar Elemente herausnehmen. Die spezifischen Schritte sind wie folgt:

  1. Verwenden Sie die Shuffle-Funktion, um die Reihenfolge des Arrays zu ändern.
$data = array(
    'apple',
    'banana',
    'orange',
    'pear',
    'peach',
    'grape'
);

shuffle($data);
Nach dem Login kopieren
  1. Verwenden Sie die Funktion array_slice, um die ersten paar Elemente herauszunehmen.
$subset = array_slice($data, 0, 3);

print_r($subset);
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Array
(
    [0] => orange
    [1] => grape
    [2] => apple
)
Nach dem Login kopieren

3. Verwenden Sie die Rand-Funktion. Wenn Sie ein Element zufällig aus einem Array auswählen möchten, können Sie auch die Rand-Funktion verwenden. Die spezifischen Schritte sind wie folgt:

Ermitteln Sie die Gesamtzahl der Array-Elemente.
  1. $count = count($data);
    Nach dem Login kopieren
Verwenden Sie die Rand-Funktion, um eine Zufallszahl zwischen 0 und der Gesamtzahl der Array-Elemente minus 1 zu generieren.
  1. $index = rand(0, $count - 1);
    Nach dem Login kopieren
Gibt das Array-Element zurück, das dem Schlüsselnamen entspricht.
  1. echo $data[$index];
    Nach dem Login kopieren
  2. Dies implementiert die Funktion der zufälligen Auswahl eines Elements aus einem Array.

Zusammenfassung

In diesem Artikel werden drei Methoden zur zufälligen Auswahl von Elementen aus einem Array vorgestellt, einschließlich der Verwendung der Funktionen array_rand, shuffle und array_slice, rand. Je nach Bedarf können bestimmte Methoden ausgewählt werden, und auch die Leistung der verschiedenen Methoden variiert. In der tatsächlichen Entwicklung wird empfohlen, die für die jeweilige Situation am besten geeignete Methode auszuwählen.

Das obige ist der detaillierte Inhalt vonSo wählen Sie per PHP zufällig mehrere Elemente aus einem Array aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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