考虑:
$xml = "l";
$xml = "vv";
echo $xml;
这将与vv相呼应。为什么以及如何为SimpleXML等做多行字符串?
考虑:
$xml = "l";
$xml = "vv";
echo $xml;
这将与vv相呼应。为什么以及如何为SimpleXML等做多行字符串?
当前回答
将字符串“l”和“vv”放在单独的代码行中:
$xml = "l";
$xml .= "vv"
echo $xml;
在本例中,您要将.=字符串附加到该字符串变量的前一个版本的末尾。请记住,=只是一个赋值操作符,所以在原始代码中,您为变量分配了一个新的字符串值。
将字符串“l”和“vv”放在单独的echo行中:
$xml = "l\nvv"
echo $xml;
在这个实例中,您不需要多个字符串,因为新的行字符\n将为您处理它。
将字符串"l"和"vv"放在代码和回显时的单独行中:
$xml = "l";
$xml .= "\nvv"
echo $xml;
其他回答
$xml="l" . PHP_EOL;
$xml.="vv";
echo $xml;
将回声:
l
vv
php_ol文档。
也许可以试试。”=" indead of "="?
$xml="l";
$xml.="vv";
会给你“lvv”;
将字符串“l”和“vv”放在单独的代码行中:
$xml = "l";
$xml .= "vv"
echo $xml;
在本例中,您要将.=字符串附加到该字符串变量的前一个版本的末尾。请记住,=只是一个赋值操作符,所以在原始代码中,您为变量分配了一个新的字符串值。
将字符串“l”和“vv”放在单独的echo行中:
$xml = "l\nvv"
echo $xml;
在这个实例中,您不需要多个字符串,因为新的行字符\n将为您处理它。
将字符串"l"和"vv"放在代码和回显时的单独行中:
$xml = "l";
$xml .= "\nvv"
echo $xml;
PHP有Heredoc和Nowdoc字符串,这是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类似于Heredoc,但它不替换变量。
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
你不必使用“EOD”作为你的开始/结束标识符;它可以是你想要的任何字符串。
注意缩进。在PHP 7.3之前,结束标识符EOD完全不能缩进,否则PHP不会承认它。在PHP 7.3及更高版本中,EOD可以通过空格或制表符缩进,在这种情况下,缩进将从heredoc/nowdoc字符串中的所有行中删除。
另一个解决方案是使用输出缓冲,你可以收集输出/回显的所有内容,并将其存储在一个变量中。
<?php
ob_start();
?>line1
line2
line3<?php
$xml = ob_get_clean();
请注意,在这种情况下,就性能和代码整洁性而言,输出缓冲可能不是最好的解决方案,但值得留待参考。