Pb avec tableu et choix aléatoire - PHP - Programmation
Marsh Posté le 21-10-2005 à 12:41:00
Premier cadre :
1 Truc
2 Bidule
3 Machin
4 Chose
5 Tata
Deuxième cadre :
$NombreVoulu = 3 ;
$Taille = count($DEFI4Numero2Nom) ;
for ($i = 0 ; $i < $NombreVoulu ; $i++) {
$j = mt_rand(1,$Taille) ;
echo "$j $DEFI4Numero2Nom[$j]<br>" ;
}
Marsh Posté le 21-10-2005 à 13:51:54
ReplyMarsh Posté le 21-10-2005 à 13:57:07
Sinon si c'est juste 3 lignes et que le tableau peut être gros, tu utilises rand/mt_rand en stockant dans un tableau les valeurs déjà tirées au hasard, histoire de bien en avoir trois différentes, ce sera probablement plus efficace.
Marsh Posté le 21-10-2005 à 14:05:14
sielfried a écrit : Sinon si c'est juste 3 lignes et que le tableau peut être gros, tu utilises rand/mt_rand en stockant dans un tableau les valeurs déjà tirées au hasard, histoire de bien en avoir trois différentes, ce sera probablement plus efficace. |
sinon array_rand est pas mal non plus :
récupère les clés du tableau source dans un tableau avec un ordre aléatoire, avec une limite possible.
Marsh Posté le 21-10-2005 à 14:06:38
Ah ben oui je l'avais oubliée celle-là.
L'ont pas mis dans les "voir aussi" de la doc de rand/mt_rand.
Marsh Posté le 21-10-2005 à 14:09:51
sielfried a écrit : L'ont pas mis dans les "voir aussi" de la doc de rand/mt_rand. |
freakin' documentation bug
Marsh Posté le 21-10-2005 à 12:39:13
Bonjour,
je cherche à prendre 3 lignes (de manière aléatoire) d'un tableau associatif de la forme :
1 Truc
2 Machin
3 Bidule
4 Tata
5 Toto
Si je fais :
for ($i = 0 ; $i < $NombreVoulu ; $i++) {
$j = mt_rand(1,$Taille) ;
echo "$j $DEFI4Numero2Nom[$j]<br>" ;
}
Je peux avoir deux fois la même ligne.
Quelqu'un connait-il une solution à mon pb ?
Merci beaucoup
Elisel4