Sto impazzendo da due giorni, qualcuno sa vedere perchè questo script non funziona come dovrebbe ? Restituisce un'array a cui mancano elementi e ogni volta di lunghezza variabile.
function mescolatore($elenco) {
$scelte = array();
$index2 = 0;
while ($index2 < count($elenco)) {
$intchoice = rand(0,count($elenco));
$scelte[] = $elenco[$intchoice];
unset($elenco[$intchoice]);
array_merge($elenco); #ho provato anche sort() ma il risultato è lo stesso
$index2++;
}
return $scelte;
}
Stesso risultato anche con quest'altra versione che ho tradotto da un mio vecchio script in python con la differenza che lì funzionava alla perfezione.
function mescolatore($elenco) {
$scelte = array();
$index2 = 0;
while ($index2 < count($elenco)) {
$scelta = $elenco[rand(0,count($elenco))];
$scelte[] = $scelta
$position = 0;
while ($position < count($elenco)) {
if ($elenco[$position] == $scelta) {
unset($elenco[$position]);
sort($elenco);
break;
} else {
$position++;
}
}
$index2++;
}
return $scelte;
}