考虑:
$xml = "l";
$xml = "vv";
echo $xml;
Run Code Online (Sandbox Code Playgroud)
这将回应vv.为什么以及如何为SimpleXML之类的东西做多行字符串?
Mad*_*iha 229
好,
$xml = "l
vv";
Run Code Online (Sandbox Code Playgroud)
作品.
您还可以使用以下内容:
$xml = "l\nvv";
Run Code Online (Sandbox Code Playgroud)
要么
$xml = <<<XML
l
vv
XML;
Run Code Online (Sandbox Code Playgroud)
您可以使用.=
运算符连接字符串.
$str = "Hello";
$str .= " World";
echo $str; //Will echo out "Hello World";
Run Code Online (Sandbox Code Playgroud)
Dan*_*ich 116
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;
Run Code Online (Sandbox Code Playgroud)
Nowdoc就像一个Heredoc,但它并没有取代变量.
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
Run Code Online (Sandbox Code Playgroud)
请注意,结束标记EOD
一定不能缩进,否则PHP不会对其进行确认.此外,您不必使用" EOD
"; 它可以是你想要的任何字符串.
另一种解决方案是使用输出缓冲,您可以收集正在输出/回显的所有内容并将其存储在变量中。
<?php
ob_start();
?>line1
line2
line3<?php
$xml = ob_get_clean();
Run Code Online (Sandbox Code Playgroud)
请注意,对于这种情况,输出缓冲可能不是性能和代码清洁度方面的最佳解决方案,但值得留在这里以供参考。
小智 9
PHP 有两个内置方法 HEREDOC 和 NOWDOC 来处理多行字符串。HEREDOC 也有语法 <<<。
这是使用 HEREDOC 的多行 PHP 字符串的示例,
<?php
echo <<<EOT
My name is BB. I am printing some Text.
Now, I am printing SECOND LINE.
This should print a capital 'A': \x41
EOT;
?>
Run Code Online (Sandbox Code Playgroud)
注意:如果您想使用本地服务器检查上述代码的正确输出,则必须在 CMD 或 XAMPP Shell 上运行完整的代码。
$xml="l" . PHP_EOL;
$xml.="vv";
echo $xml;
Run Code Online (Sandbox Code Playgroud)
回声:
l
vv
Run Code Online (Sandbox Code Playgroud)
有关PHP_EOL的文档.
不知道它是如何按性能堆叠的,但是对于无关紧要的地方,我喜欢这种格式,因为我可以确定它使用的是\ r \ n(CRLF),而不是我的PHP文件使用的任何格式保存在。
$text="line1\r\n" .
"line2\r\n" .
"line3\r\n";
Run Code Online (Sandbox Code Playgroud)
这也让我缩进了我想要的。