Php 如何正确使用打印或变量转储?

Php 如何正确使用打印或变量转储?,php,printing,var-dump,Php,Printing,Var Dump,我在调试时经常使用以下代码段: echo "<pre>" . var_dump($var) . "</pre>"; var_dump($data); echo”“。var_dump($var)。""; 我发现我通常会得到一个很好的可读性输出。但有时候我就是不知道。这个例子让我特别恼火: echo "<pre>"; print_r($data); echo "</pre>"; 当然,我不想透露我的凭据,但有人告诉我,在这种情况下,prin

我在调试时经常使用以下代码段:

echo "<pre>" . var_dump($var) . "</pre>";
var_dump($data);
echo”“。var_dump($var)。"";
我发现我通常会得到一个很好的可读性输出。但有时候我就是不知道。这个例子让我特别恼火:

echo "<pre>";
print_r($data);
echo "</pre>";

当然,我不想透露我的凭据,但有人告诉我,在这种情况下,print\r将与我通常的代码段做相同的事情,而事实上print\r和我的代码段都不会生成除runon数据之外的任何内容,而且根本没有任何格式。我怎样才能让它变得漂亮

嗯,print_r()用于打印和数组,但是为了以漂亮的方式显示数组,还需要html标记

只需执行以下操作:

echo”“;
打印(数据);
回声“;

var\u dump总是在格式化数据中显示数组,但额外的内容太多

   ob_start();
   var_dump($var);
   $s = ob_get_clean();
但是如果您想要格式化数据,您需要使用
标记

   echo "<pre>" . $s . "</pre>";
<?php 
    $temp = "hello" ;
    echo var_dump($temp);
    ?>
echo';
打印(数据);
回声';
var_dump()直接回显输出,因此如果要将其捕获到变量以提供自己的格式,必须使用输出缓冲区:

完成此操作后,变量$s现在包含var_dump()的输出,因此可以安全地:

echo”“$s"";

var\u dump用于了解任何变量的详细信息


它输出如下string(5)“hello”表示它打印变量的数据类型、字符串的长度以及变量中的内容

而print_r($expression)用于打印数组或任何其他对象数据类型等不能通过echo语句直接打印的数据。

echo“”;打印(数据);print_r()的作用类似,但如果将第二个参数设置为“true”,则可以在不使用缓冲函数的情况下捕获其输出。
   echo "<pre>" . $s . "</pre>";
<?php 
    $temp = "hello" ;
    echo var_dump($temp);
    ?>