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 :

Quel est le plus rapide entre echo " blabla $bob " et echo ' blabla '.$bob.' ' ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut Quel est le plus rapide entre echo " blabla $bob " et echo ' blabla '.$bob.' ' ?
    Bonjour,

    D'ordinaire je faisais cela pour mes échos contenant des variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo" <a href=\"$lien\">le lien</a>";
    Je viens de voir que l'on peut mettre des variables dans un echo avec simple quote, à condition de les écrire comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo'<a href="'.$lien.'"> le lien</a>';
    Je sais qu'il vaut mieux placer les chaines de caractères entre des simples quotes qu'entre des doubles quotes (guillemets) car ainsi elles ne sont pas interprétées par le serveur, ce qui optimise le temps d'exécution des scripts.
    Mais si on met des variables de la manière précisée dans mon second exemple, est-ce toujours plus rapide d'utiliser des simples quotes que des doubles quotes pour les chaines de caractères comportant des variables ?
    Autre question au passage : comment mesure-t'on le temps d'exécution d'un script php ?

  2. #2
    Membre habitué Avatar de Colbix
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    266
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 266
    Points : 150
    Points
    150
    Par défaut
    Normalement il n'y a aucunes différences, a part pour des pbl html avec des pbl de cote... Sinon c'est une question de préférence.

    Personelement, j'utilise souvent :

    print'<a href="'.$lien.'"> le lien</a>';
    Je trouve que ça aide à voir plus claire dans le code, mais c'est une question de gout .
    Pour la différence entre echo et print,il n'y a pas de différences... Ce sont juste des synonyme (ils ont ont mis les deux car dans certains langages, le print et dans d'autres le echo, c'est pour tout réunnir).

    A bientôt

  3. #3
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Et si, il y a une différence, et elle peut se révéler conséquente

    Il faut préférer l'écriture avec simple quote.

    Pour plus de détails, un article explique les différences : http://pbnaigeon.developpez.com/tuto...phe-guillemet/

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Points : 472
    Points
    472
    Par défaut
    Ok j'avais lu une page sur l'optimisation du temps d'exécution des scripts, mais le lien là répond parfaitement à ma question.

    Merci Titoumimi !
    (merci aussi à Colbix qui va pouvoir apprendre quelque chose grâce à son intérêt pour ce post )

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    par contre si on veut pinailler
    le code suivant est contestable si le but est de comparerer les qoute et les apostrophes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for ($i=0; $<10000000; $i++) {
    	$toto = "Valeur de i : ".$i;
    }
     
    for ($i=0; $i<10000000; $i++) {
    	$toto = 'Valeur de i : '.$i;
    devrai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for ($i=0; $<10000000; $i++) {
    	$toto = "Valeur de i : $i";
    }
     
    for ($i=0; $i<10000000; $i++) {
    	$toto = 'Valeur de i : '.$i;
    dans ce cas la la premiere solution devrai etre plus rapide

  6. #6
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    si tu lis bien l'article, les deux cas sont traités

    for ($i=0; $<10000000; $i++) {
    $toto = "Valeur de i : ".$i;
    }

    for ($i=0; $i<10000000; $i++) {
    $toto = 'Valeur de i : '.$i;
    }
    les temps sont identiques, mais pour


    for ($i=0; $i<3000000; $i++) {
    $toto = "Valeur de i : $i";
    }

    for ($i=0; $i<3000000; $i++) {
    $toto = 'Valeur de i : '.$i;
    }
    les quotes sont les plus rapides

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    autant pour moi
    j'ai lu les derniers bench, et je suis quasiment sur d'avoir vu des benchs contradictoire sur le net a moins que c'etait php4<>php5

  8. #8
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    tu es fortement invité à faire tes propres tests, et à mes les communiquer si les résultats s'avèrent différéents des miens, je me ferai un plaisir de mettre à jour l'article

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    je vien de tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $debut_guillemet = microtime_float();
    for ($i=0; $i<3000000; $i++) {
    	$toto = "Valeur de i : $i";
    }
    $fin_guillemet = microtime_float() - $debut_guillemet;
     
    $debut_apostrophe = microtime_float();
    for ($i=0; $i<3000000; $i++) {
    	$toto = 'Valeur de i : '.$i;
    temps avec les guillemets : 11.133177995682
    temps avec les apostrophes : 4.7328579425812
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $debut_guillemet = microtime_float();
    for ($i=0; $i<3000000; $i++) {
    	$toto = "Valeur de i : ".$i;
    }
    $fin_guillemet = microtime_float() - $debut_guillemet;
     
    $debut_apostrophe = microtime_float();
    for ($i=0; $i<3000000; $i++) {
    	$toto = 'Valeur de i : '.$i;
    temps avec les guillemets : 4.2805700302124
    temps avec les apostrophes : 4.9379208087921
    teste realisé sur un serveur de dev

  10. #10
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    donc grosso modo, tu arrives aux même résultats que moi

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

Discussions similaires

  1. Quel est le plus rapide ? preg_match ou grep ?
    Par jeremm dans le forum Langage
    Réponses: 1
    Dernier message: 18/07/2013, 09h04
  2. Array vs Object : Quel est le plus rapide ?
    Par Are-no dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2008, 09h00
  3. Réponses: 2
    Dernier message: 02/11/2006, 20h21
  4. Quel est le plus performant?
    Par trotters213 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 31/03/2005, 14h23

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