IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Concaténation ne donne pas le résultat attendu


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut Concaténation ne donne pas le résultat attendu
    Ce script m'embète
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for ($i=97; $i<=122; $i++)
     {
        $chaine .= chr($i)."<br />";
    }    
    echo "$chaine";
    Quand j'enlève la concatenation sa m'affiche z.
    alors que c'est une boucle, je ne comprend pas ???????
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    et bien quand tu enlèves la concaténation, tu redéfinis ta variable à chaque tour de boucle...
    le résultat que tu obtiens correspond donc bien au code que tu nous montre

    par contre, si le but est d'obtenir une suite de lettre et que ca ne fonctionne pas, le probleme vient surement qu'il te manque l'initialisation de ta chaine.

    AVANT la boucle

  3. #3
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut
    Tu veux dire que si je définis avant ma $chaine, sa va boucler, j'ai essayer et sa affiche la valeur initialiser

    $chaine="";
    for ($i=97; $i<=122; $i++)
    {
    $chaine .= chr($i)."<br />";
    }
    echo "$chaine";

    oui je comprend, mais le résultat est le même quand j'enlève la concaténation alors qu'une boucle fais un passage puis renitialise l'instruction ?????????
    Bon en faite je comprend, il faut tenir compte du résultat mais rien est écrit sur se sujet ???????

  4. #4
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut
    En faite c'est pas sa !
    mon echo était en dehors de la boucle, d'ou mon trouble et oui l'echo ne bouclait qu'à la fin.
    Curieuse façon d'écrire mais tout de même je m'interroge sur cette écriture ?
    elle est interressante, malgrrés la portée de l'itéraion...
    C'est comme sa que j'ai l'habitude de voir les boucles !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for ($i=97; $i<=122; $i++)
     {
        $chaine = chr($i)."<br />";
        echo "$chaine";
    }
    Mais du coup je ne vois pas l'avantage entre la concaténation et la boucle ordinaire ??????
    La boucle met en mémoire la concaténation puis l'affiche ?
    la boucle ordinaire éxécute et affiche en temps réèlle ?

  5. #5
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    mais quelle est ta question????
    je dois avouer que tes commentaires me déroutent un peu...

    l'echo, c'est fait pour afficher une chaine de caractère... (c'est une instruction)

    la concaténation, c'est pour ajouter une caine de caractère à une autre... (c'est une opération)
    une boucle, c'est pour écrire de manière commode une suite d'instruction relativement répétitive... (c'est une structure de controle)

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/02/2010, 20h15
  2. un left join ne me donne pas le résultat attendu
    Par kikidrome dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 05/12/2008, 16h58
  3. [If] Test de condition ne donne pas le résultat attendu
    Par Moktar19 dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2008, 14h52
  4. Réponses: 2
    Dernier message: 11/12/2006, 19h46
  5. Réponses: 5
    Dernier message: 03/11/2006, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo