Ankündigung

Einklappen
Keine Ankündigung bisher.

' oder "

Einklappen

Neue Werbung 2019

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

  • ' oder "

    ich durchstreife gerade meine quelltexte und bemerke oft das ich bei vielen aktionen ' oder " verwende.
    Beispiel 1:
    Code:
    require('head.php');
    oder
    Code:
    require("head.php");
    Beispiel 2:
    Code:
    echo $_POST['user'];
    oder
    Code:
    echo $_POST["user"];
    Beispiel 3:
    Code:
    echo date('H:i:s',time());
    oder
    Code:
    echo date("H:i:s",time());

    tatsache ist, dass die skripte bei beiden möglichkeiten ohne erkennbaren unterschied funktionieren. frage mich jetzt doch, ob es vielleicht bei irgendeinem Fall x eine rolle spielt ob man nun ' oder " benutzt.

    thx für die antwort


  • #2
    Ja, das spielt eine Rolle.
    Und der Unterschied steht hoffentlich in absolut jedem Grundlagenkapitel über Zeichenketten, das Du je gelesen hast.

    Stichwort: Ersetzung von Variablen und Sonderzeichen.
    **********************************
    Nein, ich bin nicht die Signatur.
    Ich putze hier nur.
    **********************************

    Kommentar


    • #3
      Grundlagenkapitel oder noch einfacher: PHP-Manual.

      Als kleine Übungsaufgabe:
      PHP-Code:
      $zahl 4;
      $variante1 "Ich habe $zahl Gurken";
      $variante2 'Ich habe $zahl Gurken';
      $variante3 "Ich habe " $zahl " Gurken";
      $variante4 'Ich habe ' $zahl ' Gurken'
      Was steht jeweils in den Variablen?
      Nicht jeder Fehler ist ein Bug.

      Kommentar


      • #4
        ok. bei Single quoted werden variabeln im gegensatz zu Double quoted nicht ausgewertet.
        zeigt ja auch das beispiel von KingCrunch. variante 3 ist für mich standard. hoffe das das so richtig ist.
        trotzdem...wenn ich mir nunn nochma oben beispiel 1 und 2 anschaue. was ist den nun die richtige methode?

        Kommentar


        • #5
          Unabhängig von deinen Beispielen: Hast du nur statischen Inhalt, dann verwende die Single-Quotes, hast du dynamischen Inhalt, dann verwende entweder Double-Quotes oder die Konkatenation mit Single-Quotes (Variante 3). In erster Linie ist es aber Geschmackssache. Wichtig ist bloss, dass du den Unterschied kennst, weil wenn du später in Single-Quotes eine Variable einfügt, sollte es dich nicht beunruhigen, dass es nicht funktioniert


          Es gibt schon Geschwindigkeitsunterschiede, aber auch hier gilt: Der Geschwindigkeitsunterschied ist vernachlässigbar im Verhältnis zum wartbaren Code. Man sollte das nehmen, was übersichtlicher ist. Ich persönlich verwende zum Beispiel fast ausschließlich Single-Quotes mit Konkatenation, aber das is nun mal nicht jedermanns Sache. DIE richtige Methode gibt es nunmal nicht

          Allerdings ist bei mir Variante 3 Quatsch, weswegen es mich überrascht, dass du ausgerechnet die erwählt hast Oo In Double-Quotes sucht PHP immer nach möglichen Variablen, die es zu ersetzen gibt. Dann aber ihn keine Variable geben, dafür aber weitere Operationen (die Konkatenation ) anzuhängen, um ein Variableninhalt einzufügen, is eher paradox

          Bissel was zum Nachlasen:
          Teil 1
          Teil 2

          Aber beiß dich darauf nicht fest: Wichtiger ist, dass du deinen Code weiterhin verstehst (und möglichst alle anderen auch ^^), als das er ultra-performant ist.
          Nicht jeder Fehler ist ein Bug.

          Kommentar


          • #6
            Zitat von KingCrunch
            Unabhängig von deinen Beispielen: Hast du nur statischen Inhalt, dann verwende die Single-Quotes, hast du dynamischen Inhalt, dann verwende entweder Double-Quotes oder die Konkatenation mit Single-Quotes (Variante 3).
            Ganz so einfach ist es nicht.
            Auch wenn man Sonderzeichen ausgeben will, wie z.B. \n, muss man auf die double Quotes zurückgreifen.
            **********************************
            Nein, ich bin nicht die Signatur.
            Ich putze hier nur.
            **********************************

            Kommentar


            • #7
              Hier stehts nochmal:
              http://de.php.net/manual/de/language.types.string.php

              Wegen der Geschwindigkeit brauchst du dir keinen Kopf machen, allerdings würde ich, wenn es egal ist, natürlich die schnellere Variante wählen (Single Quotes).

              Am Ende muss es allerdings übersichtlich sein, wenn du viele Variablen in einen String braten möchtest würde ich von ' abraten oder gleich sprintf() verwenden.

              Kommentar


              • #8
                Wegen der Geschwindigkeit brauchst du dir keinen Kopf machen, allerdings würde ich, wenn es egal ist, natürlich die schnellere Variante wählen (Single Quotes).
                Komisch das der Benchmark den KingCrunch verlinkt, die Doublequotes als schneller bescheinigt...
                http://benchmark.nophia.de/benchmark...tml#auswertung
                http://benchmark.nophia.de/benchmark...tml#auswertung
                Developers-Guide.net
                Senseless

                Kommentar


                • #9
                  Komisch, ich glaub ich äußer mich zu Geschwindigkeiten einzelner PHP-Elemente garnicht mehr. Es gebietet ja allein die Logik, dass die Single Quotes schneller sein müssten, denn der Parser muss den String nicht analysieren und gegebenenfalls Variablen darin ersetzen.

                  Kommentar


                  • #10
                    Als ob μs-Werte in DSL-Zeiten eine Rolle spielen würden

                    Kommentar


                    • #11
                      Wenn man aber berücksichtigt, wie oft Quotes verwendet werden, dann sollte man da früh daran denken.
                      Mit der Logik geb ich dir recht, aber wenn Double-Quotes auf C++-Ebene besser implementiert sind, dann kann sich das aufheben. Deshalb denke ich ja, dass gerade an dem Beispiel zu sehen ist, dass PHP noch nicht gerade durchgängig auf Performance getrimmt ist. Auch wenn 5.2 schon deutlich schneller geworden ist.
                      Developers-Guide.net
                      Senseless

                      Kommentar


                      • #12
                        Warum sollten Single Quotes nicht genauso implementiert sein?

                        Also bei den Benchmarks sind meine Ergebnisse fast immer umgekehrt wie die des Gesamttests. Das zeigt ja eigentlich nur, das es in diesem Bereich wirklich absolut egal ist, was man verwendet.

                        Kommentar


                        • #13
                          Warum sollten Single Quotes nicht genauso implementiert sein?
                          Schon per Definition - sie tun etwas anderes als Double-Quotes - müssen sie anders implementiert sein.
                          Allerdings ist der Unterschied im Schnitt äußerst minimal, das stimmt.

                          Ich denke letztlich ist es eine Gewöhnungs-, Geschmacks- und Codingstylefrage.
                          Developers-Guide.net
                          Senseless

                          Kommentar


                          • #14
                            Uns schon hat sich Zergling wieder hinreissen lassen... Obwohl er doch (mehrfach) erklärter Fan von sprintf und Konsorten ist...

                            Zitat von WarrenFaith
                            Ich denke letztlich ist es eine Gewöhnungs-, Geschmacks- und Codingstylefrage.
                            Denke ich auch. Singlequotes sind aber eleganter. So basta!
                            --

                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                            --

                            Kommentar


                            • #15
                              Meine Frage bezog sich auf das "besser". Zumindest kann ich nicht nachvollziehen warum Double Quotes besser implementiert werden sollten (aber offenbar sind sie es ja). Naja ist ja alles nur Spekulation, ich bleibe bei Single Quotes und für String-Verbindungen beim sprintf()

                              Kommentar

                              Lädt...
                              X