网站推广.NET

网站推广.NET

php中var_dump()和print_r()的区别

来源:互联网

php中var_dump()和print_r()的区别是什么?本篇文章就给大家简单比较一下var_dump()和print_r(),让大家了解var_dump()和print_r()之间的区别,希望对大家有所帮助。

var_dump()函数

var_dump()函数会显示变量的结构化信息,包括其数据类型、值、长度,元素的个数,它是用于调试代码的,没有返回值。

例1:有一个数组obj1,一个对象obj2,使用var_dump()函数输出

<?php  $obj1 = array(&#39;php&#39;, &#39;mysql&#39;, &#39;javascript&#39;);$obj2 = (object) array(&#39;php&#39;, &#39;mysql&#39;, &#39;javascript&#39;);var_dump($obj1);var_dump($obj2);?>

输出结果:

立即学习“PHP免费学习笔记(深入)”;

说明:

var_dump()函数转储的信息会自动包含在pre元素中,看到的每种类型都有自己的颜色。增强可读性。

例2:如果输入

var_dump(null);

其返回NULL,var_dump()主要是用于调试。

print_r()函数

print_r()函数以简洁、便于阅读的方式来显示变量的相关信息。数组将以键和值的格式来显示,但无法显示元素数据类型。

print_r()函数可以取两个参数,其中第一个参数是要转储的变量,第二个参数是布尔值。当我们将第二个参数设置为true,无法返回任何值,只能转储/输出值。

例1:同样有一个数组obj1,一个对象obj2,使用print_()函数输出

<?php  $obj1 = array(&#39;php&#39;, &#39;mysql&#39;, &#39;javascript&#39;);$obj2 = (object) array(&#39;php&#39;, &#39;mysql&#39;, &#39;javascript&#39;);echo "<pre class="brush:php;toolbar:false">";print_r($obj1);print_r($obj2);echo "
";?>

输出:

print_r函数转储的信息不会自动包含在pre元素中,我们必须自己把信息添加到pre元素用,不然它会在一行显示:

例2:如果输入

print_r(null)

不会返回任何值。

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

var_dump