如何避免输入<pre> when viewing arrays... any ideas?</pre>

时间:2010-08-10 11:00:39

标签: php

我经常需要在数组中查看数据并使用html标记<pre>来执行此操作。然而,不得不一直输出相同的东西变得乏味和令人沮丧。

我的问题是,您使用PHP避免编程烦恼的技巧是什么?

8 个答案:

答案 0 :(得分:12)

除了使用<pre>标记外,无法查看格式良好的格式。或者,您可以创建此功能并使用它:

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

现在,您可以使用print_r而不是pretty_print。无需不时地输入<pre>:)

答案 1 :(得分:4)

安装XDebug。除了使print_rvar_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>