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);

