2012-12-20 46 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>'; 
相关问题