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;