User Tools

Site Tools


php:kompost:stringcurlysyntax

[PHP] Strings in Complex (Curly) Syntax

Ich verwende immer wieder die {} in meinem PHP-Strings. Häufig werde ich gefragt, was das ist, wozu das ist, was die Vorteile sind etc. Es ist nicht nur bessere Ansicht.

Probiere mal den folgenden Code und du wirst verstehen

$foo = 'foo';
echo "Hallo $foobar<br />";
echo "Hallo {$foo}bar<br />";

Ausgabe:

Hallo
Hallo foobar

Zudem kann innerhalb von {} direkt auf Array-Elemente oder Objekt-Properties zugegriffen werden

$array = array('id_0'=>'foo', 'id_1'=>'bar');
$object = (object) $array;
echo "Hallo {$array['id_0']}{$object->id_1}<br />";
//geht sogar mit " anstelle von ' für den Indexname
echo "Hallo {$array["id_0"]}{$object->id_1}<br />";
//und somit kann der Index des Arrays wieder aus einem zusammengesetzten String bestehen
$id = 0;
echo "Hallo {$array["id_{$id}"]}{$object->id_1}<br />";

Und wenn man sich die {} einfach angewöhnt (den falsch sind sie nie), muss man sich keine Gedanken mehr machen, dass man solche Fehler wie im ersten Beispiel macht. Zudem ists mMn besser lesbar, aber das ist Geschmacksachse

Siehe auch den Abschnitt 'Complex (curly) syntax' in http://php.net/manual/en/language.types.string.php

php/kompost/stringcurlysyntax.txt · Last modified: 11.12.2013 14:14:44 (external edit)