de.comp.lang.php.* FAQ

27.5. Anführungzeichen oder Hochkomma?

Antwort von Johannes Frömter

In PHP können Strings sowohl von normalen Anführungszeichen (") als auch von Hochkommata (', auch genannt Apostroph, einfache Anführungszeichen, single quote, ASCII 39) eingefasst werden. Es gibt jedoch einen grundlegenden funktionalen Unterschied zwischen diesen beiden Zeichen: der Bereich zwischen Anführungszeichen wird von PHP ausgewertet, während alles, was zwischen Hochkommata steht, von PHP schnell übergangen wird.

Diese Tatsache kann man natürlich nutzen, da man weniger escapen muss (z.B. bei Windows-Pfadangaben, s.u.), außerdem werden Strings in Hochkommata schneller verarbeitet. Allerdings werden dann Variablen nicht durch ihren Wert ersetzt ("interpoliert"), aber das kann ja durchaus auch gewollt sein. Die einzigen Zeichenfolgen, die innerhalb von Hochkommata eine besondere Bedeutung haben, sind \\ (ergibt einen einzelnen Backslash) und \' (ergibt ein geschütztes Hochkomma). Beispiele:

echo 'Micro$oft';  // ergibt: Micro$oft
echo "Micro$oft";  // ergibt: Micro + Inhalt der Variable $oft
echo "Micro\$oft"; // ergibt: Micro$oft

echo 'c:\temp';    // ergibt: c:\temp
echo "c:\temp";    // ergibt: c: + Tabulator + emp
echo "c:\\temp";   // ergibt: c:\temp
echo 'c:\\temp';   // ergibt: c:\temp

echo 'Kein Hochkomma: \x27';  // ergibt: Kein Hochkomma: \x27
echo "Ein Hochkomma:  \x27";  // ergibt: Ein Hochkomma: '
echo 'Ein Hochkomma: \'';     // ergibt: Ein Hochkomma: '

echo "<input name='foo' value='$bar'>";  // gültiges HTML

Die Benutzung von Hochkomma statt Anführungszeichen wie im letzten Beispiel ist in HTML erlaubt (siehe die HTML 4.01 bzw. XML 1.0 Spezifikationen).

Valid HTML 4.01! Valid CSS!

27.5. Anführungzeichen oder Hochkomma?
http://www.php-faq.de/q/q-stil-anfuehrungszeichen.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team