supprimer element tableau

ViPHP
ViPHP | 1380 Messages

18 nov. 2005, 23:05

Non.

Tu devrais avoir des valeurs différentes à chaque fois. Vide le cache de ton naviguateur.
ripat

Eléphant du PHP | 171 Messages

19 nov. 2005, 14:37

oui, ça devait être à cause du cache. Ton script m'a aidé à faire ceci qui semble bien marcher:
$total= 10;
$selection=array();
$hasard=array();

//on va prendre 4 chiffres au hasard
for ($i=0; $i<4; $i++) {
$hasard[$i]= rand(1, $total);
                //tant que le chiffre est déjà dans la sélection, on recommence
	while (in_array($hasard[$i], $selection)) {
		$hasard[$i]= rand(1, $total);		
	}
//on ajoute les sélections dans le tableau	
array_push($selection, $hasard[$i]) ; 	

//on affiche le tableau...
echo $selection[$i]."</br>";

//...ou on met dans une session
$_SESSION[$i] = $selection[$i];

}
qu'en pensez-vous?

ViPHP
ViPHP | 1380 Messages

19 nov. 2005, 17:29

Oui, c'est le principe. Codé différemment mais le principe est le même. On boucle tant qu'on a pas tiré une valeur absente de ton résultat. Mon code est à peu près 50% plus rapide sans que je ne puisse expliquer pourquoi (sur 1000 itérations).

Fais juste attention à mettre une limite à ton while. Tu risques de rentrer dans une boucle infinie si tu ne testes pas: ($total > 4)

Même si tu as le contrôle sur tes paramètres, c'est une bonne habitude de se protéger des boucles infinies. Rajoute simplement:
($total > 4) or die ('ATENTION Solution impossible sans doublons');
ripat

Eléphant du PHP | 171 Messages

19 nov. 2005, 19:02

merci bcp!