2012-12-20 82 views
2

對於PHP調試我自己做了這樣的預()函數:PRE標籤不能正常工作,因爲它應該

function pre($data) 
{ 
    echo '<pre>'.print_r($data).'</pre>'; 
} 

但它卻沒有出現斷行,因爲它應該。舉例,我得到這一切在同一行:

Template_model Object ([id] => 1 [type] => 1 [shortname] => default [is_custom] => 0 [is_open] => 1 [options] => Array ([id] => 1 [name] => background_color [value] => #6699CC [type] => 0 [campaign_id] => 8 [user_id] => 11 [template_id] => 1))

有些部分應該有換行符。我究竟做錯了什麼?

這聽起來可能是newb,但我不明白當我使用這個多年的時候我做錯了什麼。

請不要在頁面上顯示任何其他HTML之前先調用我的pre函數。

謝謝!

回答

2

您需要print_r()print_r()處理自己的輸出之前打印的pre。就像這樣:

function pre($data) 
{ 
    echo '<pre>'; 
    print_r($data); 
    echo '</pre>'; 
} 

不過,我不知道如果使用可選參數(指定您希望它返回輸出,而不是),將保留的換行符。我們來看what codepad has to say about it

+0

它工作,現在我覺得啞巴哈哈。謝謝!有時你看起來太多,你得到金髮碧眼! –

+0

很高興能幫到你!如果它解決了你的問題,不要忘記將答案標記爲......答案。 :-) – ninetwozero

+0

在8分鐘內,呃! –

4

print_r沒有返回的字符串,其回聲到屏幕本身(返回TRUE)

如果傳遞true作爲第二個參數,那麼它會返回一個字符串。

echo '<pre>'.print_r($data, true).'</pre>'; 
相關問題