<?php
function azarSuffle($min, $max, $cantidad) {
    $numeros = range($min, $max);
    shuffle($numeros );
    return array_slice($numeros, 0, $cantidad);
}
function azarBruto($min, $max, $cantidad) {
    $numeros=array();
    while (count($numeros)<$cantidad){
        $aleatorio=rand($min, $max);
        if (!in_array($aleatorio, $numeros)) $numeros[]=$aleatorio;
    }
    return $numeros;
}
function azarMejor($min, $max, $cantidad) {
    $numeros = range($min, $max);
    return array_rand($numeros, $cantidad);
}

$ini=round(microtime(true) * 1000);
for ($i=0;$i<1000;$i++)
    azarSuffle(1,49,5);
$fin=round(microtime(true) * 1000);
$tiempoSuffle=$fin-$ini;

$ini=round(microtime(true) * 1000);
for ($i=0;$i<1000;$i++)
    azarBruto(1,49,5);
$fin=round(microtime(true) * 1000);
$tiempoBruto=$fin-$ini;

$ini=round(microtime(true) * 1000);
for ($i=0;$i<1000;$i++)
    azarMejor(1,49,5);
$fin=round(microtime(true) * 1000);
$tiempoMejor=$fin-$ini;

echo "Con suffle: ".$tiempoSuffle."\n";
echo "Fuerza bruta: ".$tiempoBruto."\n";
echo "Mejor: ".$tiempoMejor;
?>