dump var_dump print print_r的区别
一、总结
用dump()来打印就对了
1、echo和print:不能打印复合型和资源型数据;
2、var_dump()和print_r():可以打印复合型和资源型数据;var_dump()更加详细
3、dump和var_dump:两者打印内容一样,dump打印出来的结构更好看
二、echo与print,var_dump()和print_r()的区别
1.echo 和 print 的区别
共同点:首先echo 和 print 都不是严格意义上的函数,他们都是 语言结构;他们都只能输出 字符串,整型跟int型浮点型数据。不能打印复合型和资源型数据;
而区别是:echo 可以连续输出多个变量,而print只能一次输出一个变量。print打印的值能直接复制给一个变量,如 $a = print “123”;
而echo 不可以,它没有像函数的行为,所以不能用于函数的上下文。在使用时,echo() 函数比 print()速度稍快。
2.var_dump()和print_r()的区别
共同点:两者都可以打印数组,对象之类的复合型变量。
区别:print_r() 只能打印一些易于理解的信息,且print_r()在打印数组时,会将把数组的指针移到最后边,使用 reset() 可让指针回到开始处。 而var_dump()不但能打印复合类型的数据,还能打印资源类型的变量。且var_dump()输出的信息则比较详细,一般调试时用得多。
参考:
echo与print,var_dump()和print_r()的区别 - taoing - 博客园
https://www.cnblogs.com/xiaotaoing/p/6687368.html
三、print_r与var_dump的区别
$colors = array('red', 'blue', 'green', 'yellow');
print_r($colors);
echo '<br>';
var_dump($colors);
输出结果如下:
Array ( [0] => red [1] => blue [2] => green [3] => yellow )
array(4) { [0]=> string(3) "red" [1]=> string(4) "blue" [2]=> string(5) "green" [3]=> string(6) "yellow" }
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
记住,print_r() 将把数组的指针移到最后边。
print_r和var_dump都能输出数组和对象,但print_r对布尔型的输出不太明显;var_dump输出比较详细,一般调试时用得多。
转自:http://blog.sina.com.cn/s/blog_6f145be10100uln7.html
四、dump和var_dump的区别
同样的数据:
dump打印:
array(3) { [0] => string(18) "e:2017Config.ini" [1] => string(21) "e:2017advisetip.ini" [2] => string(26) "e:2017advisetip_theme.ui" }
var_dump打印:
array(3) { [0]=> string(18) "e:2017Config.ini" [1]=> string(21) "e:2017advisetip.ini" [2]=> string(26) "e:2017advisetip_theme.ui" }
dump打印格式更加清晰