2010-09-15 31 views
11

Tôi có một chuỗi dài mà tôi muốn chia nhỏ trên nhiều dòng để dễ đọc hơn. nhưng tôi không chắc cú pháp là gìPHP: Chia chuỗi truy vấn dài trên nhiều dòng

$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>"); 

Ai đó có thể giúp tôi không?

+0

bạn có muốn định dạng đầu ra hoặc mã của mình không? –

Trả lời

13

chỉ chia nó thành nhiều chuỗi và tiếp nhau chúng, như thế này:

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

hoặc sử dụng heredoc:

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

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

cảm ơn Raoul! Tôi đã biết điều đó! – iamjonesy

+0

độc đáo được thực hiện nhờ –

+0

không có chi phí trong nối? bằng các ngôn ngữ khác (ít nhất là ở mức độ thấp) chắc chắn là – Petr

12

Nếu nó không quan trọng nếu linebreaks được thêm vào, bạn có thể chỉ đơn giản là viết :

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

Rõ ràng là câu trả lời tốt nhất. – user2672165

+1

câu trả lời sai khi có sự cố ngắt dòng mới. nó sẽ là một nguồn cấp dữ liệu dòng mới betwen '' và Asdfg 'đó là những trường hợp khác không được mong muốn – albanx