suis le conseil de Naceroth, un "!=" c'est dangereux il vaut mieux un "<=" paske si pour une raison x ou y, i dépasse maxi, ben avec ton code tu retrouvera alors dans une boucle infinie, et ça c'est pas bon comme truc...
je ne sais pas non plus à quoi ça te sert d'afficher un espace à la fin (echo ' '; )...
Mais la méga question:
Pourquoi mettre ça dans un if ?????????
Surtout que la condition d'un if, c'est en général un test (donc == ou ===), alors que toi tu fait une affectation (=)...
De meme si tu utilise une version de PHP supérieur ou égale à la 4.2.0, srand ne sert plus à rien, l'inialisation de rand est automatique.
Donc ton code abrégé doit pouvoir donner ça (j'ai pas testé)
Code :
- <?
- $fichier = 'toto.txt';
- $tableau = file($fichier);
- $maxi = 15;
- for($i=0; $i<=$maxi; $i++)
- {
- $nb = rand(0,count($tableau)-1);
- echo $tableau[$nb];
- array_splice ($tableau, $nb, 1);
- }
- ?>
|
count et sizeof sont des alias, donc ça marche aussi bien l'un que l'autre, j'ai mis count par habitude...
EDIT:
Au fait il doit y avoir un pb avec ton array_plice, là comme c'était écrit il me semble que tu efface bcp plus que seulement la ligne "nb" ce qui explique peut etre pkoi tu te retrouve à n'avoir que peu de valeur parfois.... comme tu ne donné pas de longueur "lenght", ça tronquait de la ligne "nb" jusqu'à la fin
Message édité par Xav_ le 03-01-2005 à 01:31:07
---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World