5 de junio de 2009

PHP: Como barajar de manera aleatoria los datos de un array

Muchas veces tenemos arrays con un montón de datos que nos interesa que se muestren de manera aleatoria (por ejemplo las preguntas de un concurso). Para ayudarnos con esta tarea PHP tiene una función nativa, suffle(array &$nombre_matriz).

Os voy a poner un ejemplo sencillo:

<?php
$nombres[0] = "Gabriel";
$nombres[1] = "Pepe";
$nombres[2] = "Fernando";

srand (time());
shuffle ($nombres);
for($i=0;$i<sizeof($nombres);$i++){
echo ($nombres[$i] ."<br/>");
}
?>

La instrucción srand no es necesaria si la versión de PHP es superior a 4.2. Sirve para reiniciar la semilla de cálculo de números aleatorios, o sea, para que no salga siempre el mismo resultado al barajar.

No hay comentarios: