PHP中的多行string

考虑:

$xml = "l"; $xml = "vv"; echo $xml; 

这将回应vv 。 为什么以及如何为SimpleXML等东西做多行string?

好,

 $xml = "l vv"; 

作品。

您还可以使用以下内容:

 $xml = "l\nvv"; 

要么

 $xml = <<<XML l vv XML; 

根据评论编辑:

您可以使用.=运算符连接string。

 $str = "Hello"; $str .= " World"; echo $str; //Will echo out "Hello World"; 

PHP有Heredoc和Nowdocstring,这是在PHP中处理多行string的最好方法。

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,但它不能替代variables。

 $str = <<<'EOD' Example of string spanning multiple lines using nowdoc syntax. $var is NOT replaced in a nowdoc. EOD; 

请注意,结束标记EOD一定不能缩进,否则PHP将不会确认它。 另外,你不必使用“ EOD ”。 它可以是任何你想要的string。

 $xml="l" . PHP_EOL; $xml.="vv"; echo $xml; 

会回声:

 l vv 

关于PHP_EOL的文档。

不知道它是如何堆叠性能的,但对于那些并不重要的地方,我喜欢这种格式,因为我可以肯定它使用的是\ r \ n(CRLF)而不是我的PHP文件格式保存在。

 $text="line1\r\n" . "line2\r\n" . "line3\r\n"; 

这也让我缩进,但我想要的。

也许试试“=”indead of“=”?

 $xml="l"; $xml.="vv"; 

会给你“lvv”;

 $xml="l\rn"; $xml.="vv"; echo $xml; 

但是你应该看看http://us3.php.net/simplexml

要将string“l”和“vv”单独放在单独的代码行中:

 $xml = "l"; $xml .= "vv" echo $xml; 

在这个例子中,你要追加.=stringvariables的前一个版本的末尾。 记住= =只是一个赋值操作符,所以在你的原始代码中,你将赋给variables一个新的string值。

要将string“l”和“vv”单独放在回显中,

 $xml = "l\nvv" echo $xml; 

在这种情况下,您不需要多个string,因为新行字符\n将为您处理。

把string“l”和“vv”放在代码的单独行中,并在回显时:

 $xml = "l"; $xml .= "\nvv" echo $xml;