$str =<<<EOD
Exampleofstring
spanning multiple lines
using heredoc syntax.
$var is replaced automatically.
EOD;
Ein Nowdoc ist wie ein Heredoc, ersetzt jedoch keine Variablen.
$str =<<<'EOD'Exampleofstring
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
Beachten Sie, dass das End-Token EODüberhaupt nicht eingerückt werden darf, da PHP dies sonst nicht bestätigt. Außerdem müssen Sie nicht " EOD" verwenden. Es kann eine beliebige Zeichenfolge sein.
Gibt es eine Möglichkeit, Antworten zu markieren? Ich habe immer gedacht, dass man das nur bei Fragen machen kann. @ TheBlackBenzKid
Pacerier
Ich meinte, ich gab ihm ein Plus von +1, als ich ihn wieder aufbaute.
TheBlackBenzKid
@ TheBlackBenzKid "favorisiert";)
Andrés Morales
8
Ich bin mir nicht sicher, wie es sich in Bezug auf die Leistung stapelt, aber für Orte, an denen es nicht wirklich wichtig ist, mag ich dieses Format, weil ich sicher sein kann, dass es \ r \ n (CRLF) verwendet und nicht das Format, in dem meine PHP-Datei gerade ist gespeichert in.
Eine andere Lösung ist die Verwendung der Ausgabepufferung . Sie können alles, was ausgegeben / wiedergegeben wird, sammeln und in einer Variablen speichern.
Bitte beachten Sie, dass die Ausgabepufferung in Bezug auf Leistung und Code-Sauberkeit möglicherweise nicht die beste Lösung für diesen genauen Fall ist, es sich jedoch lohnt, sie hier als Referenz zu belassen.
So setzen Sie die Zeichenfolgen "l" und "vv" allein im Code in separate Zeilen:
$xml ="l";
$xml .="vv"
echo $xml;
In diesem Fall möchten Sie anhängen .= die Zeichenfolge an das Ende der vorherigen Version dieser Zeichenfolgenvariablen . Denken Sie daran, dass = nur ein Zuweisungsoperator ist. In Ihrem ursprünglichen Code weisen Sie der Variablen einen neuen Zeichenfolgenwert zu.
So setzen Sie die Zeichenfolgen "l" und "vv" allein im Echo in separate Zeilen:
$xml ="l\nvv"
echo $xml;
In diesem Fall benötigen Sie nicht mehrere Zeichenfolgen als neues Zeilenzeichen \n für Sie erledigt.
So setzen Sie die Zeichenfolgen "l" und "vv" in separate Zeilen im Code und beim Echo:
concatenation
. So heißt es, wenn man Strings zusammensetzt.Antworten:
Gut,
Funktioniert.
Sie können auch Folgendes verwenden:
oder
Bearbeiten basierend auf Kommentar:
Sie können Zeichenfolgen mit dem
.=
Operator verketten .quelle
PHP verfügt über Heredoc- und Nowdoc-Zeichenfolgen, mit denen sich mehrzeilige Zeichenfolgen in PHP am besten verarbeiten lassen.
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
Ein Nowdoc ist wie ein Heredoc, ersetzt jedoch keine Variablen.
Beachten Sie, dass das End-Token
EOD
überhaupt nicht eingerückt werden darf, da PHP dies sonst nicht bestätigt. Außerdem müssen Sie nicht "EOD
" verwenden. Es kann eine beliebige Zeichenfolge sein.quelle
Wird widerhallen:
Dokumentation zu PHP_EOL .
quelle
Ich bin mir nicht sicher, wie es sich in Bezug auf die Leistung stapelt, aber für Orte, an denen es nicht wirklich wichtig ist, mag ich dieses Format, weil ich sicher sein kann, dass es \ r \ n (CRLF) verwendet und nicht das Format, in dem meine PHP-Datei gerade ist gespeichert in.
Es lässt mich auch einrücken, wie ich will.
quelle
Eine andere Lösung ist die Verwendung der Ausgabepufferung . Sie können alles, was ausgegeben / wiedergegeben wird, sammeln und in einer Variablen speichern.
Bitte beachten Sie, dass die Ausgabepufferung in Bezug auf Leistung und Code-Sauberkeit möglicherweise nicht die beste Lösung für diesen genauen Fall ist, es sich jedoch lohnt, sie hier als Referenz zu belassen.
quelle
Vielleicht versuchen Sie ". =" Indead von "="?
wird dir "lvv" geben;
quelle
Aber Sie sollten wirklich in http://us3.php.net/simplexml schauen
quelle
So setzen Sie die Zeichenfolgen "l" und "vv" allein im Code in separate Zeilen:
In diesem Fall möchten Sie anhängen
.=
die Zeichenfolge an das Ende der vorherigen Version dieser Zeichenfolgenvariablen . Denken Sie daran, dass = nur ein Zuweisungsoperator ist. In Ihrem ursprünglichen Code weisen Sie der Variablen einen neuen Zeichenfolgenwert zu.So setzen Sie die Zeichenfolgen "l" und "vv" allein im Echo in separate Zeilen:
In diesem Fall benötigen Sie nicht mehrere Zeichenfolgen als neues Zeilenzeichen
\n
für Sie erledigt.So setzen Sie die Zeichenfolgen "l" und "vv" in separate Zeilen im Code und beim Echo:
quelle