Melanger Tableau

goulouk Messages postés 20 Date d'inscription jeudi 15 mai 2003 Statut Membre Dernière intervention 7 juillet 2006 - 26 mai 2003 à 12:40
dvdstory Messages postés 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 août 2009 - 26 déc. 2007 à 22:36
Bonjour,
je voudrais savoir quelle fonction utiliser pour melanger un tableau, mais d'une facon tres aleatoire, cad qd je relance le prog ca ne sois pas le mm melange qui se face!

merci.

3 réponses

revinc Messages postés 385 Date d'inscription mardi 15 octobre 2002 Statut Membre Dernière intervention 19 décembre 2017
26 mai 2003 à 12:56
Ton tableau doit être numéroté de 0 à n

mt_srand((double)microtime());

while(is_array($tableau) {

$taille = count($tableau)-1;

$dimension = mt_rand(0, $taille);

$nouveau[] = $tableau[$dimension];
unset($tableau[$taille]);

}

ton nouveau tableau est dans $nouveau (enfin théoriquement)

voiilà ça devrait marcher mais comme g po testé confirme-le moi...

++

Re|V|inc
0
revinc Messages postés 385 Date d'inscription mardi 15 octobre 2002 Statut Membre Dernière intervention 19 décembre 2017
26 mai 2003 à 13:00
désolé le code précédent est une grosse merde complétement buggé . utilise ça au moins ça marche ::

mt_srand((double)microtime()*1000000);

while(count($tableau) > 0) {

$taille = count($tableau)-1;

$dimension = mt_rand(0, $taille);

$nouveau[] = $tableau[$dimension];
$tableau[$dimension] = $tableau[$taille];

unset($tableau[$taille]);

}

++

Re|V|inc
0
dvdstory Messages postés 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 août 2009
26 déc. 2007 à 22:36
Tu peux utiliser la fonction shuffle()

GRUNENBERGER Benoît
www.egrunenberger.com
0
Rejoignez-nous