首页  >  文章  >  后端开发  >  php中var_dump()和print_r()的区别

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

青灯夜游
青灯夜游原创
2018-12-28 17:21:518661浏览

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

php中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()和print_r()的区别

说明:

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

5.jpg

例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 "
"; ?>

输出:

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

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

4.jpg

例2:如果输入

print_r(null)

不会返回任何值。

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

以上是php中var_dump()和print_r()的区别的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn