Extraer elementos aleatoriamente de un array en PHP

Os dejo aquí un pequeño código que os permitirá extraer elementos de manera aleatoria de un array. La explicación un poco más abajo.

Este ejemplo toma un array y muestra dos elementos escogidos de manera aleatoria.

<?
$elementos = array('tortilla de patata', 'bonito con tomate',
'morcilla con pimientos', 'salmón ahumado');
$claves = array_rand($elementos, 2);
foreach($claves as $clave)
{
	echo $elementos[$clave];
}
?>

Explicación:

$elementos = array('tortilla de patata', 'bonito con tomate',
'morcilla con pimientos', 'salmón ahumado');

Esto es un array, no necesita mucha explicación. Un detalle importante, estoy escribiendo esto cerca de la hora de comer, por eso todos los elementos son platos que me encantan.

$claves = array_rand($elementos, 2);

Esta función nos devuelve un array $claves que contendrá dos (porque así lo hemos indicado) elementos que serán dos índices (o claves) aleatorios del array $elementos.

foreach($claves as $clave)

Con este foreach recorreremos el array de claves aleatorias y mostramos con el echo mostramos los valores.

Un pequeño apunte: antes de la versión de PHP 4.2.0 era necesario inicializar el generador de números aleatorios:

srand((float) microtime() * 10000000);

One thought on “Extraer elementos aleatoriamente de un array en PHP

  1. Gracias amigo por mostrar algo de tus conocimientos. Soy aun un aprendiz en PHP y justo estoy en el tema de matrices. Con tiempo llegare a saber tanto como tú. Sigue adelante y saludos desde Perú.

Deja un comentario