probleme boucle

Eléphanteau du PHP | 40 Messages

29 juin 2005, 17:33

bonjour,

je voudrais faire une boucle qui affiche l'alphabet.

si je fais
for($i=a;$i<=z;i++){echo $i;}
j'ai bien l'alphabet mais il continue apres z et m'affiche n'importe quoi

???

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 juin 2005, 17:37

j'avais eu le même problème pour un pendu

je ne sais pas si on peut le faire directement, il me semblait avoir réussi une fois mais j'ai pas retrouvé comment faire :oops:

alors j'ai contourné comme ça :
$alpha = "a";         
for ($cpt=1;$cpt<=26;$cpt++) {
   echo $alpha;
   $alpha++;
}
car effectivement le test ne fonctionnait pas

VaN
Mammouth du PHP | 1107 Messages

29 juin 2005, 17:38

chez moi le code ne marche pas, il affiche cette erreur carrément :

Parse error: parse error, unexpected T_INC, expecting ')' in c:\program files\easyphp1-7\www\extranet\test\alphabet.php on line 10

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 juin 2005, 17:40

c'est vrai en plus il y a une erreur

ce serait plutôt ça :
for($i="a";$i<="z";i++){echo $i;}

Eléphanteau du PHP | 40 Messages

29 juin 2005, 17:40

j'ai oublie le $ dans $i++

Eléphanteau du PHP | 40 Messages

29 juin 2005, 17:42

j'ai le meme pb avec ou sans les ""

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 juin 2005, 17:43

sinon y'a ça :
for($alpha='a';$alpha!='aa';$alpha++) {
	echo $alpha."-";
}
petite variante :)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 juin 2005, 17:46

et enfin (trouvé sur le net)
for ($i=ord("A");$i<=ord("Z");$i++) {
   echo(chr($i)."<br>");
}
on aurait du y penser au code ASCII :)
j'ai juste changé '<' par '<=' au code de base pour avoir le Z

=> http://www.asp-php.net/ressources/bouts ... php?id=197

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 juin 2005, 17:48

sachant que les lettres minuscules sont comprises entre 97 et 122 dans la table ASCII, on peut faire
for ($i = 97; $i <= 122; $i++)
  echo chr($i);
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 juin 2005, 17:48

grillé sur la vitesse !!! :evil:

bien joué ouckileou
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 juin 2005, 17:49

ouais plus rapide, mais j''ai copié... :)

par contre pourquoi abs() ? :?:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 juin 2005, 17:52

parce que j'ai récupérer ce truc dans un code de génération de code numérique depuis une chaine. Dans l'algo, j'enlevais 96 au code ASCII de la lettre et si je récupère la valeur absolue du code obtenu, je tombe toujours sur un chiffre, que la lettre soit minuscule ou majuscule

mais j'ai remplacé entre temps par la bonne fonction
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 40 Messages

29 juin 2005, 17:52

merci les gars

a+

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

29 juin 2005, 17:53

ok je comprend

merci d'avoir répondu parcequ'un moment j'ai cru avoir rêvé :lol:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 juin 2005, 17:55

@laTulipe : [RESOLU] :?: :roll:

@ouckileou : non non, c'était un mauvais copier/coller, tu n'as pas rever
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer