Función PHP Shuffle para reordenar aleatoriamente un array

Recientemente he tenido que utilizar en un proyecto PHP la función Shuffle() para reordenar de forma aleatoria el contenido de un array. En mi caso lo utilicé para una nube de tags, ya que quería que cada vez que se generase la página se ordenasen los tags aleatoriamente. Un ejemplo vale más que mil palabras:

$users = array();

$rs = mysql_query(“SELECT id,name FROM t_users”);
while ($data = mysql_fetch_array($rs)){
$users[] = array ("id" => $ data [0],
"name" => $ data [1]);
}

shuffle($users);
foreach ($users as $user){
echo $user[“name”].”  (“.$user[“id”].”)\n”;
}

Por otro lado, si lo que queremos es, por ejemplo, obtener 5 usuarios aleatorios de una tabla de nuestra base de datos, podemos utilizar directamente la función de MyQSL ORDER BY rand() para obtener todos los registros de la tabla con un orden aleatorio y limitar la consulta al número de usuarios que deseamos recuperar. Con el código mostrado a continuación cada vez que se ejecute la consulta SQL recuperaremos 5 usuarios aleatorios.

SELECT id, name
FROM t_users
 ORDER BY rand()
LIMIT 5;

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

What is 14 + 6 ?
Please leave these two fields as-is: