Considerar:
$xml = "l";
$xml = "vv";
echo $xml;
Esto hará eco vv . ¿Por qué y cómo puedo hacer cadenas de varias líneas para cosas como SimpleXML , etc.?
concatenation
. Así se llama cuando juntas las cuerdas.
Considerar:
$xml = "l";
$xml = "vv";
echo $xml;
Esto hará eco vv . ¿Por qué y cómo puedo hacer cadenas de varias líneas para cosas como SimpleXML , etc.?
concatenation
. Así se llama cuando juntas las cuerdas.
Respuestas:
Bien,
$xml = "l
vv";
Trabajos.
También puede usar lo siguiente:
$xml = "l\nvv";
o
$xml = <<<XML
l
vv
XML;
Puede concatenar cadenas utilizando el .=
operador.
$str = "Hello";
$str .= " World";
echo $str; //Will echo out "Hello World";
PHP tiene cadenas Heredoc y Nowdoc, que son la mejor manera de manejar cadenas multilínea en 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;
Un Nowdoc es como un Heredoc, pero no reemplaza las variables.
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
Tenga en cuenta que el token final EOD
no debe sangrarse en absoluto, o PHP no lo reconocerá. Además, no tiene que usar " EOD
"; Puede ser cualquier cadena que desee.
No estoy seguro de cómo se acumula en cuanto al rendimiento, pero para los lugares donde realmente no importa, me gusta este formato porque puedo estar seguro de que está usando \ r \ n (CRLF) y no el formato que sea mi archivo PHP. guardado en.
$text="line1\r\n" .
"line2\r\n" .
"line3\r\n";
También me permite sangrar como quiera.
Otra solución es utilizar el almacenamiento en búfer de salida , puede recopilar todo lo que se emite / hacer eco y almacenarlo en una variable.
<?php
ob_start();
?>line1
line2
line3<?php
$xml = ob_get_clean();
Tenga en cuenta que el almacenamiento en búfer de salida puede no ser la mejor solución en términos de rendimiento y limpieza del código para este caso exacto, pero vale la pena dejarlo aquí como referencia.
Tal vez intente ". =" Indead de "="?
$xml="l";
$xml.="vv";
te dará "lvv";
$xml="l\rn";
$xml.="vv";
echo $xml;
Pero realmente deberías buscar en http://us3.php.net/simplexml
Para poner las cadenas "l" y "vv" en líneas separadas solo en el código:
$xml = "l";
$xml .= "vv"
echo $xml;
En este caso, está diciendo que agregue .=
la cadena al final de la versión anterior de esa variable de cadena. Recuerde que = es solo un operador de asignación, por lo que en su código original está asignando a la variable un nuevo valor de cadena.
Para poner las cadenas "l" y "vv" en líneas separadas solo en el eco:
$xml = "l\nvv"
echo $xml;
No necesita múltiples cadenas en este caso, ya que el nuevo carácter de línea \n
se encargará de eso por usted.
Para poner las cadenas "l" y "vv" en líneas separadas en el código y al hacer eco:
$xml = "l";
$xml .= "\nvv"
echo $xml;