27.5. Anführungzeichen oder Hochkomma?Antwort von Johannes FrömterIn 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). |
||
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 |