我经常需要在数组中查看数据并使用html标记<pre>
来执行此操作。然而,不得不一直输出相同的东西变得乏味和令人沮丧。
我的问题是,您使用PHP避免编程烦恼的技巧是什么?
答案 0 :(得分:12)
除了使用<pre>
标记外,无法查看格式良好的格式。或者,您可以创建此功能并使用它:
function pretty_print(array $array){
echo '<pre>';
print_r($array);
echo '</pre>';
}
现在,您可以使用print_r
而不是pretty_print
。无需不时地输入<pre>
:)
答案 1 :(得分:4)
安装XDebug。除了使print_r
和var_dump
更漂亮(更有用)之外,它还具有其他非常方便的功能。
答案 2 :(得分:2)
function pre_($array)
{
echo '<pre>' . print_r( $array, true ) . '</pre>';
}
答案 3 :(得分:1)
你可以尝试这样的事情。请注意,它未经测试。
function html_var_dump($obj)
{
ob_start();
var_dump($obj);
$output = htmlentities(ob_get_contents());
ob_end_clean();
echo "<pre>$output</pre>";
}
如果您愿意,可以使用print_r而不是var_dump。
答案 4 :(得分:1)
我用这个
function d($obj)
{
ob_start();
print_r($obj);
$output = htmlspecialchars(ob_get_clean());
echo "<pre>$output</pre>";
}
答案 5 :(得分:0)
我将default_mimetype
(默认text/html
)php.ini设置更改为text/plain
。
答案 6 :(得分:0)
我最喜欢的技巧之一,如果我正在打印数组:
header('Content-type: text/plain');
print_r($arr);
答案 7 :(得分:-1)
有趣的是你应该问一下,我刚写了一个简短的函数,以免我不得不这么做的痛苦。
function pre($option = "open"){
if (is_object($option) || is_array($option)):
print "<pre>";
print_r($option);
print "</pre>";
else:
$option=="open"?print "<pre>": print "</pre>";
endif;
}
如果将数组或对象传递给它,它将在预标记内打印。如果您只想要一个开始标记,那么不要传递参数。如果您想要结束标记,请将其传递给任何其他参数(例如1
)
e.g:
pre($result); //prints in pre tags
pre(); //just prints <pre>
print "hello";
pre(1); //just prints </pre>