2010-09-15 62 views
11

我有一個很長的字符串,我想跨多行分割,所以它更容易閱讀。但我不知道語法是什麼PHP:跨多行分割長查詢字符串

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

有人可以幫我嗎?

+0

是否要格式化輸出或代碼? – 2010-09-15 13:04:31

回答

13

只是將它分成多個字符串,將它們連接起來,就像這樣:

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

或使用heredoc

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

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

謝謝拉烏爾!應該知道! – iamjonesy 2010-09-15 13:07:06

+0

很好地完成謝謝 – 2011-10-31 23:30:33

+0

是不是在串聯開銷?在其他語言(至少低級別)肯定是 – Petr 2016-05-03 13:25:53

12

如果如果添加換行也沒關係,你可以簡單地寫:

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

顯然是最好的答案。 – user2672165 2014-09-12 13:15:51

+1

新的換行符問題時錯誤的答案。這將是一個新的換行符''和 asdfg'這是其他情況不是通緝 – albanx 2017-01-13 12:44:17