Considerar:
$xml = "l";
$xml = "vv";
echo $xml;
Isso ecoará vv . Por que e como posso criar strings de várias linhas para coisas como SimpleXML etc.?
concatenation
. É assim que se chama quando você junta as cordas.
Considerar:
$xml = "l";
$xml = "vv";
echo $xml;
Isso ecoará vv . Por que e como posso criar strings de várias linhas para coisas como SimpleXML etc.?
concatenation
. É assim que se chama quando você junta as cordas.
Respostas:
Bem,
$xml = "l
vv";
Trabalho.
Você também pode usar o seguinte:
$xml = "l\nvv";
ou
$xml = <<<XML
l
vv
XML;
Você pode concatenar cadeias usando o .=
operador.
$str = "Hello";
$str .= " World";
echo $str; //Will echo out "Hello World";
O PHP possui cadeias Heredoc e Nowdoc, que são a melhor maneira de lidar com cadeias multilinhas no 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;
Um Nowdoc é como um Heredoc, mas não substitui variáveis.
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
Cuidado para que o token final EOD
não deva ser recuado ou o PHP não o reconhecerá. Além disso, você não precisa usar " EOD
"; pode ser qualquer string que você desejar.
Não tenho certeza de como ele se comporta em termos de desempenho, mas para lugares onde isso realmente não importa, eu gosto desse formato porque posso ter certeza de que ele está usando \ r \ n (CRLF) e não o formato do meu arquivo PHP. salvo em.
$text="line1\r\n" .
"line2\r\n" .
"line3\r\n";
Também me permite recuar como quiser.
Outra solução é usar o buffer de saída , você pode coletar tudo o que está sendo produzido / ecoado e armazená-lo em uma variável.
<?php
ob_start();
?>line1
line2
line3<?php
$xml = ob_get_clean();
Observe que o buffer de saída pode não ser a melhor solução em termos de desempenho e limpeza de código para este caso exato, mas vale a pena deixá-lo aqui para referência.
Talvez tente ". =" Indead of "="?
$xml="l";
$xml.="vv";
lhe dará "lvv";
$xml="l\rn";
$xml.="vv";
echo $xml;
Mas você deve realmente consultar http://us3.php.net/simplexml
Para colocar as seqüências de caracteres "l" e "vv" em linhas separadas apenas no código:
$xml = "l";
$xml .= "vv"
echo $xml;
Neste exemplo, você está dizendo para anexar .=
a string ao final da versão anterior dessa variável de string. Lembre-se de que = é apenas um operador de atribuição, portanto, no seu código original, você está atribuindo à variável um novo valor de string.
Para colocar as seqüências de caracteres "l" e "vv" em linhas separadas apenas no eco:
$xml = "l\nvv"
echo $xml;
Você não precisa de várias strings nesse caso, pois o novo caractere de linha \n
cuidará disso para você.
Para colocar as seqüências de caracteres "l" e "vv" em linhas separadas no código e ao ecoar:
$xml = "l";
$xml .= "\nvv"
echo $xml;