Get Adobe Flash player

PHP und die Anführungszeichen

Immer wieder zeigt sich, dass PHP-Programmierer den Unterschied zwischen doppelten und einfachen Anführungszeichen nicht kennen. Dabei ist er erstens nicht schwierig zu verstehen und sollte zweitens durchaus bekannt sein, da dadurch – spätestens bei größeren Projekten – die Performance beeinflusst werden kann. Also, grundlegend gilt: PHP versucht einen String, der in doppelten Anführungszeichen steht, zu interpretieren, während der in einfachen schlicht ausgegeben wird. Hier ein paar Beispiele gleich mal vorweg:

$var = 'die Variable';
 
// Ausgabe 1:
echo "Ausgabe 1 gibt $var so aus.";
 
// Ausgabe 2:
echo 'Ausgabe 2 gibt $var so aus.';
 
// Ausgabe 3:
echo 'Ausgabe 3 gibt ' . $var . ' so aus';

Dies würde im Browser zu folgenden Ausgaben führen:

Ausgabe 1 gibt die Variable so aus.
Ausgabe 2 gibt $var so aus.
Ausgabe 3 gibt die Variable so aus.

Ihr seht: was innerhalb von einfachen Anführungszeichen steht, wird direkt so ausgegeben, wie es da steht. Es werden keine Variablen durch ihre Werte ersetzt. Na wenn das so ist, ist man geneigt zu sagen, dann schreibe ich alle meine Ausgaben zwischen doppelte Hochstriche. So einfach ist es aber leider nicht. Klar, was den Comfort angeht, mag das vielleicht zutreffen. Es gibt aber einen weit schwerwiegenderen Grund, die doppelten Anführungszeichen eher im Ausnahmefall zu benutzen. Grund: Der PHP-Interpreter sucht natürlich bei Strings innerhalb von “ und “ nach Variablen, die es zu interpretieren gilt. Profan ausgedrückt: damit hat er richtig Arbeit, während er Zeichensätze zwischen ‚ und ‚ nicht weiter untersucht, sondern einfach ausgibt. Performance ist das, was ihr gewinnt, wenn ihr die einfachen Hochstriche verwendet! Natürlich muss in einem solchen Fall die Variable, so doch mal eine ausgegeben werden muss, über den Punkt – der Verkettungsoperator in PHP – eingebunden werden. Das mag zwar vier Tastendrücker mehr bedeuten, hat aber meines Erachtens neben der Performance auch noch den Vorteil, dass das Skript übersichtlicher wird. Habt ihr tatsächlich mehrere Ausgaben mit vereinzelt integrierten Variablen in eurem Skript, so fallen diese bei der Schreibweise mit den einfachen Anführungszeichen deutlicher ins Auge. Braucht man innerhalb einer so gebauten Ausgabe ein ‚, so muss dieses natürlich maskiert werden. Dies geschieht in PHP mit einem voran gestellten Backslash (also \). Ihr tut also gut daran, euch das so anzugewöhnen.

Schreibe einen Kommentar

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