Ansehen Strings Spezial
Besondere String-Behandlung in PHP
Es gibt ein paar Methoden der String-Verarbeitung in PHP, die nicht so allgemein bekannt sind. Vor allem bei Heredoc vergesse ich auch immer die Syntax – und finde sie auch nicht über Google, da mir logischerweise auch der Name entfallen ist ….
Escape-Sequenzen
Escape-Sequenzen werden nur innerhalb normaler Anführungen interpretiert:
# Falsch
echo 'Text in der ersten Zeile\nsolleigentlich in die erste, tuts aber nicht ...';
#Richtig
echo "Text in der ersten Zeile\njetzt ist er in der zweiten Zeile. ";
Ausnahme ist die Escape-Sequenz »\«, sie funktioniert in beiden Anführungen. Sie maskiert Anführungszeichen und sich selbst.
Variablen innerhalb von Zeichenketten
Wie bei Escape-Sequenzen werden auch Variablen nur in Strings mit normalen Anführungen interpretiert:
# Falsch
echo 'das Auto ist $farbe';
#Richtig
echo "das Auto ist $farbe ";
Das funktioniert allerdings bei Arrays und Objekten nicht mehr oder nur eingeschränkt. In diesem Fall kann man folgende Syntax verwenden:
echo "das Auto ist {$farben['auto']}";
echo "das Auto ist {$this->farben}";
Achtung: unmittelbar auf die geschw. Klammer muss das Dollarzeichen der Variablen folgen.
Heredoc
echo <<<EINDEUTIGE_KONSTANTE
Jetzt kommt ein beliebiger Text, mit "beliebigen" Anführungszeichen
Zeilenschaltungen
und
so
weiter.
Auch Variablen werden geparst:
Die Farbe des Autos ist:{$auto}
EINDEUTIGE_KONSTANTE;
Variablen und Escape-Sequenzen werden geparst. ACHTUNG: es dürfen sich um das abschließende EINDEUTIGE_KONSTANTE keine Leerzeichen befinden; man kann den Code also nicht einrücken!