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 :

Problème avec echo dans une fonction et hors fonction


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut Problème avec echo dans une fonction et hors fonction
    Bonjour,

    J'ai rencontré un problème lors de ma programmation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function affiche_boite1()
    {
    	echo 'test';
    }
     
    echo 'bla-bla ' , affiche_boite1();
    ?>
    Ce petit bout de code sensé affiché : bla-bla test
    Affiche en fait testbla-bla

    Je ne sais pas du tout, peut être un problème avec l'echo en dehors et dans la fonction.

    Merci pour votre aide.

    Cordialement,
    Morgan

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton code produit bien
    bla-bla test
    Contrôle le bien tel quel tu nous l'as écris.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    • Pour la concaténation on utilise le point (.) .
    • La virgule (,) N'est PAS un opérateur de concaténation !
      elle a un autre usage : elle sépare plusieurs opérations.
      Elle est à éviter car peut être source de confusion (comme ici).



    Les 2 écritures suivantes donnent un résultat correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    function test1()
    {
    	echo 'essai1';
    }
    echo 'blabla1 '; test1();
    // MAIS on NE peut/doit PAS écrire
    echo 'blabla1 ' . test1();
    ?>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    function test2()
    {
    	return 'essai2';
    }
    echo 'blabla2 ' . test2();
    // on peut AUSSI écrire
    echo 'blabla2 '; echo test2();
    ?>
    Il ne faut pas confondre un retour (return) avec un affichage (echo) dans une fonction.


    Voici de quoi rendre perplexe (et pousser à être plus rigoureux et vigilant) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    function test3()
    {
    	echo 'echo1';
    	return 'return2';
    }
    echo ' blabla3 ' . test3();
    ?>
    On obtient : "echo1 blabla3 return2" !
    Dernière modification par Invité ; 02/09/2015 à 10h10.

  4. #4
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut
    En effet je me suis trompé la virgule affiche le bon résultat mais le points donne le mauvais résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function affiche_boite1()
    {
    	echo 'test';
    }
     
    //Bon résultat avec la virgule
    echo 'bla-bla ' , affiche_boite1();
     
    //Mauvais résultat avec le point
    echo 'bla-bla ' . affiche_boite1();

  5. #5
    Invité
    Invité(e)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec structure dans une fonction
    Par Saliman dans le forum C
    Réponses: 2
    Dernier message: 22/11/2007, 11h45
  2. [VB.NET2005]Problème avec GIF dans une picturebox
    Par Dnx dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/08/2006, 12h48
  3. [Conception] Problème avec INSERT dans une TABLE
    Par dunbar dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 20/07/2006, 12h56
  4. [PL SQL] Problème avec 'case' dans une fonction
    Par divail dans le forum Oracle
    Réponses: 14
    Dernier message: 13/03/2006, 15h50
  5. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19

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