Rozważać:
$xml = "l";
$xml = "vv";
echo $xml;
To będzie echo vv . Dlaczego i jak mogę tworzyć ciągi wieloliniowe dla elementów takich jak SimpleXML itp.?
concatenation
. Tak to się nazywa, kiedy łączysz struny.
Rozważać:
$xml = "l";
$xml = "vv";
echo $xml;
To będzie echo vv . Dlaczego i jak mogę tworzyć ciągi wieloliniowe dla elementów takich jak SimpleXML itp.?
concatenation
. Tak to się nazywa, kiedy łączysz struny.
Odpowiedzi:
Dobrze,
$xml = "l
vv";
Pracuje.
Możesz również skorzystać z:
$xml = "l\nvv";
lub
$xml = <<<XML
l
vv
XML;
Ciągi można łączyć za pomocą .=
operatora.
$str = "Hello";
$str .= " World";
echo $str; //Will echo out "Hello World";
PHP ma ciągi Heredoc i Nowdoc, które są najlepszym sposobem obsługi ciągów wielowierszowych w PHP.
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
$var is replaced automatically.
EOD;
Nowdoc jest jak Heredoc, ale nie zastępuje zmiennych.
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
Uważaj, że token końcowy EOD
nie może być w ogóle wcięty, inaczej PHP tego nie potwierdzi. Nie musisz też używać „ EOD
”; może to być dowolny ciąg.
Nie jestem pewien, jak układa się pod względem wydajności, ale w miejscach, w których tak naprawdę nie ma to znaczenia, podoba mi się ten format, ponieważ mogę być pewien, że używa \ r \ n (CRLF), a nie innego formatu, w jakim znajduje się mój plik PHP zapisane w.
$text="line1\r\n" .
"line2\r\n" .
"line3\r\n";
Pozwala mi też tworzyć wcięcia, jak chcę.
Innym rozwiązaniem jest użycie buforowania wyjścia , możesz zebrać wszystko, co jest wysyłane / wyświetlane na ekranie i przechowywać w zmiennej.
<?php
ob_start();
?>line1
line2
line3<?php
$xml = ob_get_clean();
Należy pamiętać, że buforowanie danych wyjściowych może nie być najlepszym rozwiązaniem pod względem wydajności i czystości kodu w tym konkretnym przypadku, ale warto je tutaj zostawić w celach informacyjnych.
Może spróbuj ". =" Nieumarły z "="?
$xml="l";
$xml.="vv";
da ci "lvv";
$xml="l\rn";
$xml.="vv";
echo $xml;
Ale naprawdę powinieneś zajrzeć do http://us3.php.net/simplexml
Aby umieścić ciągi „l” i „vv” w osobnych wierszach samego kodu:
$xml = "l";
$xml .= "vv"
echo $xml;
W tym przypadku mówisz, że chcesz dołączyć .=
ciąg na końcu poprzedniej wersji tej zmiennej łańcuchowej. Pamiętaj, że = jest tylko operatorem przypisania, więc w oryginalnym kodzie przypisujesz zmiennej nową wartość ciągu.
Aby umieścić ciągi „l” i „vv” w osobnych wierszach samego echa:
$xml = "l\nvv"
echo $xml;
W tym przypadku nie potrzebujesz wielu ciągów, ponieważ nowy znak linii \n
zajmie się tym za Ciebie.
Aby umieścić ciągi „l” i „vv” w osobnych wierszach w kodzie i podczas wyświetlania echa:
$xml = "l";
$xml .= "\nvv"
echo $xml;