(PHP 4, PHP 5, PHP 7, PHP 8)
array_rand — Toma una o varias claves, al azar en un array
Selecciona uno o varios valores al azar en un array y devuelve la o las claves de estos valores.
Esta función no genera valores criptográficamente seguros, y no debe ser utilizada con fines criptográficos, o con fines que requieran que los valores devueltos sean indescifrables.
Si se requiere aleatoriedad criptográficamente segura, el Random\Randomizer puede ser utilizado con el motor Random\Engine\Secure. Para casos de uso simples, las funciones random_int() y random_bytes() proporcionan una API práctica y segura que es soportada por el CSPRNG del sistema operativo.
arrayEl array de entrada. No puede estar vacío.
num
Especifica el número de entradas que se desean recuperar.
Debe ser mayor a cero e inferior o igual a la longitud de array.
Cuando se recupera una sola entrada, la función array_rand() devuelve la clave de una entrada elegida al azar. De lo contrario, se devolverá un array de claves de entradas aleatorias. Esto permite hacer una selección al azar de claves, o bien de valores. Si se devuelven varias claves, entonces lo serán en el orden en que estaban en el array original.
Lanza una ValueError si array está vacío,
o si num está fuera de rango.
| Versión | Descripción |
|---|---|
| 8.0.0 |
array_rand() ahora lanza una ValueError
si num está fuera de rango; anteriormente, se generaba un
E_WARNING y la función devolvía null.
|
| 8.0.0 |
array_rand() ahora lanza una ValueError
si array está vacío; anteriormente, se generaba un
E_WARNING y la función devolvía null.
|
| 7.1.0 | El algoritmo interno de generación aleatoria ha sido modificado para usar el generador de números aleatorios » Mersenne Twister en lugar de la función aleatoria libc |
Ejemplo #1 Ejemplo con array_rand()
<?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";
?>