Extraer un item aleatoriamente de un array con php

Necesito extraer de un array, un valor al azar.
Necesitaría saber como hacerlo en una función, donde le pasaría el array, ¿y la función toma un item del array al azar y me lo devuelve
como hago esto?

1 Respuesta

Respuesta
1
Para extraer un valor aleatoriamente de un array necesitas primero contar cuantas variables existe con la función count y luego seleccionar un valor aleatorio con rand.
Éste es un ejemplo de como hacerlo:
<?php
$array = array('uno'=>'red', 'dos'=>'blue', 'tres'=>'green', 'cuatro'=>'yellow');
$total = count($array) - 1;
$select = rand(0, $total);
$idx = 0;
foreach ($array as $item)
{
    if($idx == $select)
    {
        echo $item;
    }
    $idx++;
}
?>
En ese caso, he usado foreach para evitar fallos, aunque se puede hacer de una manera más fácil si el nombre de las variables son numéricas.
<?php
$array = array('red', 'blue', 'green', 'yellow');
$total = count($array) - 1;
$select = rand(0, $total);
echo $array[$select];
?>
Estimado,
tu solución fue excelente, probé y funcionó inmediatamente, era lo que precisaba!
Muchas gracias! Tu aporte fue impecable!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas