Onkel Hannes: Doppelte oder einfache Anführungszeichen

Hi,

ich möchte gerne wissen, wann bei PHP doppelte gegenüber einfachen Anführungszeichen (und umgekehrt) zu bevorzugen sind.

Ist $variable="example" oder $variable='example' besser? Macht das Unterschiede in der Serverbelastung bzw. in der Performance?

Und dann gibt es ja auch noch Situationen, wo in einer Anweisung doppelte _und_ einfache Anführungszecihen verwendet werden (müssen), wie zum Beispiel das im PHP Handbuch bei der Funktion mysql_real_escape_string beschriebene Beispiel: ( inkompletter Ausschnitt)

  
$query = sprintf("INSERT INTO products (`name`, `description`, `user_id`) VALUES ('%s', '%s', %d)",  

Das funktioniert auch, wenn man die doppelten gegen die einfachen Anführungszeichen austauscht, solange die verschiedenen Teile richtig auseinandergehalten werden. Aber auch hier die Frage: Wo sind einfache, wo sind doppelte Anführunngszeichen besser?

Gibt es zu diesem Thema gute Artikeln? Weiß wer Links zu Seiten, die dieses Thema behandeln oder kann vielleicht hier jemand darüber referieren?

Gruß

Onkel Hannes

  1. Gudn!

    ich möchte gerne wissen, wann bei PHP doppelte gegenüber einfachen Anführungszeichen (und umgekehrt) zu bevorzugen sind.

    Doppelte Anführungszeichen werden nach enthaltenen Variablen durchsucht, einfache nicht (sind also performanter, hinreichend komplexe Scripte vorrausgesetzt, andernfalls sind die Unterschiede marginal). Deshalb wären einfache Anführungszeichen zu bevorzugen und Variabelen auszulagern:

      
    $variable2 = 'Variable1 = '.$variable1;  
    
    

    Einen schönen Vorteil ergibt sich bei der Ausgabe von HTML per PHP, da die doppelten Anführungszeichen für Attributwerte beibehalten werden können ohne sie "back zu slashen" ;-)

    Gruß aus Fürth in Mittelfranken,
    Samoht

    --
    fl:| br:> va:) ls:< n4:( ss:) de:] js:| mo:}
    1. Hi Samoht,

      Gruß aus Fürth in Mittelfranken,

      He, Ihr habt nicht nur ein wirklich schönes Rathaus, sondern auch süße Badenixen. *g*

      MfG

      gooxsy

      1. Gudn!

        He, Ihr habt nicht nur ein wirklich schönes Rathaus, sondern auch süße Badenixen. *g*

        "Ihr" ist gut...

        Ich wohne zwar zur Zeit hier, aber im Herzen bin ich (achtung outing) Unterfranke und gebürtiger Würzburger :)

        Aber es gibt durchaus auch hier schöne Stellen und Bauten ;)

        Gruß aus Fürth in Mittelfranken,
        Samoht

        --
        fl:| br:> va:) ls:< n4:( ss:) de:] js:| mo:}
        1. Mahlzeit,

          Ich wohne zwar zur Zeit hier, aber im Herzen bin ich (achtung outing) Unterfranke und gebürtiger Würzburger :)

          Heißt das nicht eigentlich "Unnafrange"? ;-P

          MfG,
          EKKi

          --
          sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
          1. Gudn!

            Heißt das nicht eigentlich "Unnafrange"? ;-P

            Genaugenommen "Unnerfrangge" ;-)

            Im Gegensatz zum Mittel- und Oberfränkischen gibts bei uns weniger "a"-Laute

            Vgl.: Oberfränkisch: Madla => Unterfränkisch: Mädle

            (um bei den Nixen von oben zu bleiben)

            Gruß aus Fürth in Mittelfranken,
            Samoht

            --
            fl:| br:> va:) ls:< n4:( ss:) de:] js:| mo:}
            1. Hallo,

              Heißt das nicht eigentlich "Unnafrange"? ;-P
              Genaugenommen "Unnerfrangge" ;-)

              ja, das Land der "budderweische Gonsonandn". *g*

              Im Gegensatz zum Mittel- und Oberfränkischen gibts bei uns weniger "a"-Laute
              Vgl.: Oberfränkisch: Madla => Unterfränkisch: Mädle

              Da schlägt vermutlich der schwäbische Einfluss schon so langsam durch.

              (um bei den Nixen von oben zu bleiben)

              Oh ja, gern! ;-)

              Schönen Tag noch,
               Martin

              --
              Einer aktuellen Erhebung zufolge sind zehn von neun Ehefrauen eifersüchtig auf ihren Mann.
  2. Mahlzeit,

    ich möchte gerne wissen, wann bei PHP doppelte gegenüber einfachen Anführungszeichen (und umgekehrt) zu bevorzugen sind.

    Innerhalb von doppelten Anführungszeichen werden Variablen durch ihren jeweiligen Wert ersetzt, innerhalb von einfachen Anführungszeichen nicht. Das bedeutet natürlich, dass PHP innerhalb von doppelten Anführungszeichen nach dem Vorkommen von Variablen suchen muss - was ggf. Performance kostet.

    Beispiel:

    $foo = 'Heute';  
      
    echo "$foo ist ein schöner Tag!"; // Ausgabe: Heute ist ein schöner Tag!  
    echo '$foo ist ein schöner Tag!'; // Ausgabe: $foo ist ein schöner Tag!
    

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Mahlzeit,

      Jetzt schon? (08:41 Uhr)

      Innerhalb von doppelten Anführungszeichen werden Variablen durch ihren jeweiligen Wert ersetzt, innerhalb von einfachen Anführungszeichen nicht. Das bedeutet natürlich, dass PHP innerhalb von doppelten Anführungszeichen nach dem Vorkommen von Variablen suchen muss - was ggf. Performance kostet.

      Beispiel:

      $foo = 'Heute';

      echo "$foo ist ein schöner Tag!"; // Ausgabe: Heute ist ein schöner Tag!
      echo '$foo ist ein schöner Tag!'; // Ausgabe: $foo ist ein schöner Tag!

        
      He super, danke, das wußte ich nicht. Man lernt wirklich nie aus! Danke für die Erklärung und das Beispiel!  
        
      Liebe Grüße  
        
      Onkel Hannes 
      
  3. @@Onkel Hannes:

    ich möchte gerne wissen, wann bei PHP doppelte gegenüber einfachen Anführungszeichen (und umgekehrt) zu bevorzugen sind. […]
    Gibt es zu diesem Thema gute Artikeln? Weiß wer Links zu Seiten, die dieses Thema behandeln […]?

    Die PHP-Referenz php.net natürlich. Click.

    In der documentation. Click.

    Welches Schweigerl hätten S’ denn gern? German. Click.

    Guckst du Sprachreferenz. Click.

    Es geht um Strings. Click.

    oder kann vielleicht hier jemand darüber referieren?

    Ist nicht dort genug darüber referiert?

    Live long and prosper,
    Gunnar

    --
    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
    1. Hi Gunnar!

      Ist nicht dort genug darüber referiert?

      Schon, aber das muß man erst mal finden bzw. wissen, daß man _genau dort_ danach suchen muß. Deshalb mußt mich doch nicht gleich als so dumm hinstellen. :-(

      Danke für den Hinweis

      liebe Grüße

      Onkel Hannes

      1. @@Onkel Hannes:

        Schon, aber das muß man erst mal finden bzw. wissen, daß man _genau dort_ danach suchen muß.

        php.net sollte man, wenn man in PHP programmiert, schon kennen.

        Deshalb mußt mich doch nicht gleich als so dumm hinstellen. :-(

        Nein, das war eine Anleitung dafür, dass du dich beim nächsten Mal nicht selbst als so dumm hinstellst. ;-)

        Live long and prosper,
        Gunnar

        --
        Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.