array_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

array_randLiefert einen oder mehrere zufällige Schlüssel eines Arrays

Beschreibung

array_rand(array$array, int$num = 1): int|string|array

Wählt einen oder mehrere Einträge aus einem Array aus und gibt den Schlüssel des zufälligen Eintrags bzw. die Schlüssel der zufälligen Einträge zurück.

Achtung

Diese Funktion erzeugt keine kryptografisch sicheren Werte und darf nicht für kryptografische Zwecke verwendet werden oder für Zwecke, bei denen die zurückgegebenen Werte nicht abschätzbar sein dürfen.

Falls kryptographisch sichere Zufallszahlen benötigt werden, kann der Random\Randomizer mit der Random\Engine\Secure-Engine verwendet werden. Für einfache Anwendungsfälle bieten die Funktionen random_int() und random_bytes() eine bequeme und sichere API, die den CSPRNG des Betriebssystems verwendet.

Parameter-Liste

array

Das Eingabe-Array; darf nicht leer sein

num

Gibt an, wie viele Einträge ausgewählt werden sollen; muss größer als Null und kleiner oder gleich der Länge von array sein

Rückgabewerte

Wenn nur ein Eintrag ausgewählt wird, gibt array_rand() den Schlüssel eines zufälligen Eintrages zurück. Andernfalls wird ein Array mit den Schlüsseln der zufälligen Einträge zurückgegeben. Dies hat den Zweck, dass zufällige Schlüssel und auch Werte aus dem Array ausgewählt werden können. Wenn mehrere Schlüssel zurückgegeben werden, werden sie in der Reihenfolge zurückgegeben, in der sie im ursprünglichen Array vorliegen.

Fehler/Exceptions

Wenn array leer ist oder num außerhalb des zulässigen Bereichs liegt, wird ein ValueError geworfen.

Changelog

VersionBeschreibung
8.0.0 Wenn num außerhalb des zulässigen Bereichs liegt, wirft array_rand() nun einen ValueError; zuvor wurde ein E_WARNING ausgegeben, und die Funktion gab null zurück.
8.0.0 Wenn array leer ist, wirft array_rand() nun einen ValueError; zuvor wurde ein E_WARNING ausgegeben, und die Funktion gab null zurück.
7.1.0 Zur Erzeugung der Zufallszahlen kommt intern nun der » Mersenne-Primzahlen-Zufallsgenerator statt der vorherigen libc-rand-Funktion zum Einsatz.

Beispiele

Beispiel #1 array_rand()-Beispiel

<?php
$input
= array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo
$input[$rand_keys[0]] . "\n";
echo
$input[$rand_keys[1]] . "\n";
?>

Siehe auch

To Top