2010-09-15 24 views
11

Tengo una cadena larga que quiero dividir en varias líneas para que sea más fácil de leer. pero no estoy seguro de cuál es la sintaxisPHP: dividir cadena de consulta larga en varias líneas

$xml = array('sXML' =>"<queryxml><entity>Ticket</entity><query><field>Status<expression op=\"$condition1\">$complete</expression></field><condition operator=\"AND\"><field>AccountID<expression op=\"equals\">$userid</expression></field></condition><condition operator=\"AND\"><condition><field>QueueID<expression op=\"NotEqual\">$routine</expression></field></condition><condition operator=\"OR\"><field>QueueID<expression op=\"NotEqual\">$recurring</expression></field></condition><condition operator=\"OR\"><field>QueueID<expression op=\"NotEqual\">$clientmanagement</expression></field></condition></condition></query></queryxml>"); 

¿Alguien me puede ayudar, por favor?

+0

¿desea formatear la salida o su código? –

Respuesta

13

simplemente dividirlo en varias cadenas y concatenar, así:

$xml = array('sXML' => "lorem" . 
"ipsum" . 
"dolor"); 

o uso heredoc:

$sXML = <<<XML 
your text 
goes here 
XML; 

$xml = array('sXML' => $sXML); 
+0

gracias Raoul! ¡Debería haber sabido eso! – iamjonesy

+0

muy bien hecho gracias –

+0

no hay gastos generales en la concatenación? en otros idiomas (al menos bajo nivel uno) definitivamente es – Petr

12

Si no importa si se añaden los saltos de línea, simplemente hay que escribir :

<?php 
$xml = array('sXML' => "<abc> 
<def>Asdfg</def> 
</abc>"; 
?> 
+2

Claramente la mejor respuesta. – user2672165

+1

respuesta incorrecta cuando importa un nuevo salto de línea. será un nuevo avance de línea entre '' y Asdfg 'que es otra circunstancia no deseada – albanx

Cuestiones relacionadas