Hallo euch allen,

für den Anfang möchte ich mit einem Thema beginnen, welches unter den PHP Entwicklern schon die ein- oder andere hitzige Diskussion gestartet hat. Es geht um die Nutzung von einfachen gegenüber doppelten Anführungszeichen im PHP Quelltext:

$str = 'Dies ist ein String';
$str2 = "Dies ist ebenfalls ein String";

Wie viele von euch wissen (sollten) werden diese beiden Strings von PHP unterschiedlich interpretiert…

Während der String in den einfachen Anführungszeichen von PHP nicht angefasst werden, wird bei den doppelten Anführungszeichen versucht zu parsen!

Folgender code:

$i = 123;
echo "Der Wert von von i ist gleich: $i";

wird folgende Ausgabe produzieren:

Der Wert von i ist gleich: 123

Würde der gleiche Code nun mit einfachen statt doppelten Anführungszeichen geschrieben werden, so würde der tatsächliche Wert der Variable nicht ausgegeben werden. PHP parst also unsere Strings und ersetzt die vorkommenden Variablen mit ihren Werten – Genau so, als würden wir folgendes schreiben:

$i = 123;
echo 'Der Wert von i ist gleich: ' . $i;

Nun gibt es da natürlich eine große Frage – „Kosten die doppelten Anführungszeichen performance?“

Einfache Frage, einfache Antwort: Kaum, aber ja.

Allerdings möchte ich betonen das es hier zu unterschieden zwischen Windows und Linux Rechnern kommt! Führt ihr PHP auf einer Windows Maschine aus, so werden Strings mit doppelten Anführungszeichen schneller bearbeitet als bei einfachen. Bei Linux verhält es sich dagegen andersrum.

Die Unterschiede sind jedoch so minimal, das sie getrost außer Acht gelassen werden können – Wirklich.

Anschließend gibt es natürlich noch ein paar Zahlen, damit ihr euch ein eigenes Bild machen könnt.

// Die folgenden Zuweisungen wurden jeweils 10'000x Mal durchlaufen.

$str = 'String ' . $v1 . ' string ' . $v2;
// => Benötigt 0.0292 s

$str = "String $v1 string $v2";
// => Benötigt 0.0178 s

$str = "String {$v1} string {$v2}";
// => Benötigt 0.0178 s

$str = "String " . $v1 . " string " . $v2;
// => Benötigt 0.0176 s

Das dazugehörige Script könnt ihr euch hier selbst ansehen und lokal zum ausprobieren speichern.

6 comments on “Basics: Einfache vs. Doppelte Anführungszeichen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.