PHP调试时echo print() print_r() var_dump()的区别
来源:互联网 发布:英文写作润色软件 编辑:程序博客网 时间:2024/05/01 23:08
echo
输出一个或多个值(字符串),多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
print()
函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。和echo一样,但速度比echo慢。
print_r()
可以把字符串和数字简单地打印出来,如果给出的是 string、integer 或 float,将打印变量值本身。object 与数组类似。而数组则以括起来的键和值得列表形式显示,并以Array开头。记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
$arr = array('name'=> 'bob','age' => 20, 'sex' => 'man');print_r($arr);
输出形如:
Array{ [name] => bob, [age] => 20, [sex] => man}
但对,用print_r()来显示布尔值和NULL是没有意义的:
如:
print_r(true); //输出1print_r(false); //没有输出print_r(null); //没有输出
print_r()输出布尔值和NULL的结果没有意义,因为都是打印”\n”。因此用var_dump()函数更适合调试。
var_dump()
判断一个变量的类型与长度,并输出变量的数值,如果变量有值,输出的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
var_dump(true); //输出 bool(true)var_dump(false); // bool(false)var_dump(null); // bool(null)var_dump(array('name' => 'bob', 'age' => 20));array(2) { ['name'] => string(3) 'bob' ['age'] => int(20)}
var_export()
跟print_r和var_dump类似,但是很少用。
var_dump和print_r的区别
var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。
print_r(),var_export(),var_dump()的区别具体见下:
二维数组的输出:
$arr=array( array('a'=>'aa','b'=>'bbb','c'=>'ccc'), array('a'=>'ddd','b'=>'eee','c'=>'fff'), array('a'=>'gg','b'=>'hh'));echo "<pre>";print_r($arr);echo "</pre>";echo "<pre>";var_export($arr);echo "</pre>";echo "<pre>";var_dump($arr);echo "</pre>";
print_r($arr)的输出结果
Array( [0] => Array ( [a] => aa [b] => bbb [c] => ccc ) [1] => Array ( [a] => ddd [b] => eee [c] => fff ) [2] => Array ( [a] => gg [b] => hh ))
var_export($arr)的输出结果
array ( 0 => array ( 'a' => 'aa', 'b' => 'bbb', 'c' => 'ccc', ), 1 => array ( 'a' => 'ddd', 'b' => 'eee', 'c' => 'fff', ), 2 => array ( 'a' => 'gg', 'b' => 'hh', ),)
var_dump($arr)的输出结果
array (size=3) 0 => array (size=3) 'a' => string 'aa' (length=2) 'b' => string 'bbb' (length=3) 'c' => string 'ccc' (length=3) 1 => array (size=3) 'a' => string 'ddd' (length=3) 'b' => string 'eee' (length=3) 'c' => string 'fff' (length=3) 2 => array (size=2) 'a' => string 'gg' (length=2) 'b' => string 'hh' (length=2)
下面再给出一个json格式的输出:
$arr=array(array('a'=>'aa','b'=>'bbb','c'=>'ccc'), array('a'=>'ddd','b'=>'eee','c'=>'fff'), array('a'=>'gg','b'=>'hh'));$arra=json_encode($arr);echo "<pre>";print_r($arra);echo "</pre>";echo "<pre>";var_export($arra)echo "</pre>";echo "<pre>";var_dump($arra);echo "</pre>";
print_r($arra)输出
[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]
var_export($arra)输出
'[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]'
var_dump($arra)输出
string '[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]' (length=84)
- PHP调试时echo print() print_r() var_dump()的区别
- php echo、 print()、 print_r()、 var_dump()的区别
- php调试时echo,print_r(),var_dump()的区别
- PHP echo print print_r var_dump var_export 区别
- php 的 echo(),print(),print_r(),printf() var_dump() return 的区别
- PHP:echo、print、print_r、sprintf、var_dump之间的区别
- 【转】PHP:echo、print、print_r、sprintf、var_dump之间的区别
- php输出echo、print、print_r、printf、sprintf、var_dump的区别
- PHP:echo print var_dump()和print_r()的区别
- php中 echo print print_r var_dump的区别
- 初学php之echo print print_r var_dump的区别
- php中echo/print/print_r()/var_dump()的区别
- PHP中的echo、print、print_r、sprintf、var_dump之间的区别
- php echo, print(), print_r(), sprintf(), var_dump(), var_export() 的区别
- echo(),print(),print_r(),var_dump()的区别
- echo print() print_r() var_dump()的区别
- echo,die(),print(),print_r(),var_dump()的区别
- echo(),print(),print_r(),var_dump()的区别
- jquery实现动态创建页面元素(ul,li列表实例)
- SQL 触发器的作用,好处和坏处
- 判断是否为C++合法标识符
- Android Design Support Library
- oAuth
- PHP调试时echo print() print_r() var_dump()的区别
- 找工作之Effective C++
- 状态压缩
- WEEX|初始化工程
- GObject 学习笔记汇总---7
- clang static analyzer源码分析(番外篇):RegionStore以及evalCall()中的conservativeEvalCall
- UVA 10723
- SAP HANA Smart Data Access 远程连接HANA\ORACLE 转载有修改
- 2016CCPC合肥赛区总结(流水账)