PHP gibt dem Programmierer in vielerlei Hinsicht syntaktische Freiheiten. Nach Java-Syntax darf man Strings nur mit doppelten Anführungszeichen erzeugen. In PHP hat der Entwickler die freie Wahl zwischen einfachen (‘) und doppelten (“) Anführungszeichen.
Der Unterschied der beiden Syntax-“Konventionen” liegt in der Interpretation.
In String mit doppelten Anführungszeichen (“) interpretiert PHP auch enthaltene Variablen innerhalb des Strings.
Orientiert man sich an der einfachen Variante (‘), wird der Text so hingenommen und es erfolgt keine syntaktische Interpretation von Variablen.

 

Unten im Abschnitt “Fazit” habe ich die Ergebnisse zusammengefasst.

Wer sich für die Erklärung interessiert, sollte sich auch den oberen Teil des Artikels durchlesen.

 

 

Um den Effekt zu verdeutlichen, habe ich ein kurzes Beispiel mit den zwei Varianten und den entsprechenden Ausgaben geschrieben!

 

 

 

Der Sourcecode:

Code

 

 

Es wird zunächst die $variable mit dem Text “World” deklariert. (Die Variante ist dabei egal).

Dann wird die Variable:

im 1. Versuch innerhalb von einfachen Anführungszeichen und

im 2. Versuch innerhalb von doppelten Anführungszeichen

ausgegeben.

 

 

Die Ausgabe:
Ausgabe

 

Klar zu sehen:
Beim 1. Versuch hat PHP den Teil ‘$variable’ als Text verstanden bzw. erst garnicht interpretiert.
Beim 2. Versuch hat PHP den Teil “$variable” interpretiert und übersetzt. Es wurde nicht der Variablenname, also “$variable” ausgegeben, sondern der Inhalt von $variable (“World”).

 

 

 

 

Fazit

Man könnte theoretisch einfach immer doppelte Anführungszeichen benutzen, damit Variablen ggf. automatisch interpretiert werden. Es gibt aber syntaktische Inhalte, die dann zu Fehlern führen würden.

Verwunderlich ist, dass die Laufzeiten bei doppelten Anführungszeichen geirnger als bei der interpretierenden Variante ausfallen. Diese Thematik geht sehr ins Detail und würde den Umfang des Beitrags bei weitem sprengen, daher möchte ich mich dieser Diskussion entziehen und auf andere Quellen verweisen.

Mein Tipp:

Doppelte Anführungszeichen verwenden für:

  • Ausgaben von einfachen Variablen innerhalb eines Texts

Einfache Anführungszeichen verwenden für:

  • Ausgaben von statischen Texten (die sich zur Laufzeit nicht mehr ändern), so wie $variable im Beispiel.
  • Ausgaben von zusammengefügten Texten die Arrays enthalten. Dann macht es eher sinn, die einzelnen Sequenzen einer Ausgabe mit dem Punkt-Operator aneinander zu reihen, weil man im Array-Index oft mit Anführungszeichen arbeitet und dann mit den Anführungszeichen der gesamten Ausgabe durcheinander kommt.