" oder ' ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • " oder ' ?

    Moin leute

    ich hab nochmal ne Frage: Sollten grundsätzlich " oder ' verwendet werden? es macht soweit ich weiss keinen unterschied oder?
    Sprich:
    $variable = 'test';
    $variable = "test";

    kommt beides auf das gleiche raus oder?
    Was hat nun vor und nachteile?

    lg Michael

  • #2
    In deinem Beispiel ist es Wumpe! Aber in folgendem Beispiel ist es etwas anschaulicher:
    PHP-Code:
    echo '<a href="path/to/anywhere" title="Tadaa!"><img src="path/to/pic.jpg" alt="Picture" /></a>';
    echo 
    "<a href=\"path/to/anywhere\" title=\"Tadaa!\"><img src=\"path/to/pic.jpg\" alt=\"Picture\" /></a>"

    Kommentar


    • #3
      Bei "" werden Ersetzungen vorgenommen (\t wird als Tab erkannt, $test wird durch den Wert von $test ersetzt), bei '' wird der String so gespeichert, wie er auch im Quellcode steht (d.h. \t bleibt \t, auch ohne zusätzlichen \ davor, Variablen werden nicht ersetzt).

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Wenn es überhaupt einen Unterschied macht, dann merkst du ja kaum. Es ist ziemlich egal, ob du " oder ' nimmst. Ich trenne generell Variable vom String, d.h. solche Konstrukt:

        $a = "bla bla $b bla bla";

        mache ich nicht, statt dessen:

        $a = "bla bla ".$b." bla bla";

        Und ich verwende nur ", da ich nicht nur in PHP was schreibe

        Kommentar


        • #5
          Ich trenne generell Variable vom String, d.h. solche Konstrukt:

          $a = "bla bla $b bla bla";

          mache ich nicht, statt dessen:

          $a = "bla bla ".$b." bla bla";
          Höhö, habe ich ganz vergessen, das in Anführungszeichen Variablen ersetzt werden ^^

          Kommentar


          • #6
            Insofern ist es sehr wohl ein Unterschied, welche Delimiter man benutzt. Wenn man keine Variablen oder Steuerzeichen innerhalb eines Strings hat (oder ersetzen lassen will), sollte man, und das gebietet schlicht saubere Programmierung, auf Hochkommata zurückgreifen. Im umgekehrten Fall eben mit doppelten Anführungszeichen. Alles andere wäre ein evtl. minimaler aber dennoch vorhandener Performanceverlust.

            Obwohl ich gestehen muss, dass ich mir es auch noch abgewöhnen muss, verkettete Strings in doppelte Anführungszeichen zu setzen
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              Hmmm...jetzt möcht ich meinen Senf auch noch dazugeben, aaaalso:
              Ich habe mal gelesen, dass es einen Unterschied gibt, und zwar werden Aufrufe mit einfachen Anführungszeichen minimal schneller abgearbeitet als jene mit doppelten. Die Rede war von iwas im 1/10 oder 1/100 ms Bereich, wenn man das jetzt aber mal hochrechnet auf eine große Applikation...da dürfte sich schon was zusammen läppern...
              Ich persönlich bevorzuge einfache Anführungszeichen...
              Grüße, Dennis
              Musik beflügelt unseren Geist

              Kommentar


              • #8
                Original geschrieben von Bersi667
                H... und zwar werden Aufrufe mit einfachen Anführungszeichen minimal schneller abgearbeitet als jene mit doppelten. ...
                Ist ja auch logisch, da diejenigen in doppelten Anführungszeichen zuerst geparst werden müssen. Das ist zwar - auf einem schwachen Rechner - nach ein paar Millionen Durchgängen messbar, bemerkt habe ich nie einen Unterschied, genauso wenig wie mit verketteten oder in doppelten Anführungszeichen geschriebenen Variablen. Deshalb bevorzuge ich - im Gegensatz zu asp2php - letzere. Ich finde diese Version, mindestens in Editoren mit Syntax-Highlighting, übersichtlicher.
                Gruss
                H2O

                Kommentar


                • #9
                  Es gibt um einiges drastischere Performancefragen, die auch schnell im Bereich von 1-2 Sekunden liegen können. Darum halte ich diese Diskussion für ziemlich überflüssig!

                  Kommentar


                  • #10
                    Ich finde "Ich habe noch nie einen Unterschied bemerkt"-Aussagen sehr lustig, da sie doch meistens in der Entwicklungsphase getroffen werden. Millisekunden machen sich schnell bemerkbar, wenn eine Applikationen einen Userstamm im siebenstelligen Bereich bedient. Auch schwachsinnige SQL-Abfragen funktionieren in der Entwicklung und mögen scheinbar schnell sein, aber 0.3 ms oder 0.8 ms machen im live-Betrieb einen gewaltigen Unterschied aus.
                    [FONT="Helvetica"]twitter.com/unset[/FONT]

                    Shitstorm Podcast – Wöchentliches Auskotzen

                    Kommentar


                    • #11
                      http://benchmark.nophia.de/benchmark...eil-2-b-4.html

                      aber 0.3 ms oder 0.8 ms machen im live-Betrieb einen gewaltigen Unterschied aus.
                      Ob du da hinkommst, beim bloßen Verzicht von single-/duble-Quotes?

                      Zudem werden solche Threads hier immer wieder eröffnen von leuten, die
                      a) nicht in der Lage sind zu suchen und
                      b) mit sicherheit deutlich höheres optimierungspotential als dieses hier haben. (z.B. SQL-Statements, File-operationen, Schleifen, etc...)

                      und bis der 7stellige Besucherstrom kommt, haben die Leute ganz sicher auch noch ein paar Jahre Zeit...
                      Zuletzt geändert von TobiaZ; 08.11.2007, 11:25.

                      Kommentar


                      • #12
                        Zudem werden solche Threads hier immer wieder eröffnen von leuten, die
                        a) nicht in der Lage sind zu suchen und
                        b) mit sicherheit deutlich höheres optimierungspotential als dieses hier haben. (z.B. SQL-Statements, File-operationen, Schleifen, etc...)
                        Sehe ich genau so! Du kannst über Codeoptimierung, Caching und andere Funktionen einiges an Beschleunigung erzielen. Performanceeinbußen durch einfache statt doppelte Anführungszeichen zu kompensieren ist Schwachsinn!!

                        Kommentar


                        • #13
                          Da hast du natürlich auch wieder Recht ...
                          [FONT="Helvetica"]twitter.com/unset[/FONT]

                          Shitstorm Podcast – Wöchentliches Auskotzen

                          Kommentar


                          • #14
                            Sicher ist's iwo Quatsch, andererseits, wenn du in großen Projekten, mit mehreren Hunderttausend Aufrufen hast, wird sich das ganze ein wenig zeigen, zwar für den User unmerklich, aber das muss ja nicht heissen, dass die 1/10 ms je Aufruf, schlecht wäre, summiert man das ganze nämlich mal auf, kommt man ganz schnell an einige Abfragen mehr, die bearbeitet werden könnten, will heissen, dass Applikationen, die so "optimiert" sind, ein wenig höhere Reservern haben, auch wenn es sich nur um 1 Verbindung pro Sekunde handeln mag, aber jede Verbindung/Kunde zählt...
                            Grüße, Dennis
                            Musik beflügelt unseren Geist

                            Kommentar


                            • #15
                              Ich geb's auf...!

                              Kommentar

                              Lädt...
                              X