转载echo print() print_r() var_dump() 的区别
2017-03-11 13:20
190 查看
常见的输出语句
echo()
可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
print()
函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。
print_r()
可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
var_dump()
判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
看下面的代码form1.php
<html>
<head>
<title></title>
</head>
<body>
<form action="formprocess1.php" method="post">
<table>
<tr>
<td>Name</td>
<td><input type="text" name="name" id="name"/></td>
</tr>
<tr>
<td colspan="2" style="text-aligh:center">
<input type="Submit" name="Submit" value="Submit" />
</td>
</tr>
</table>
</form>
</body>
</html>
formprocess1.php
<html>
<head>
<title></title>
<body>
<?php
echo '<h1>Hello ' .$_POST["name"]. '!</h1>';
?>
<pre>
<strong>DEGUG:</strong>
<?php
echo($_POST);
?>
</pre>
</body>
</head>
</html>
使用echo输出的结果是:
Hello !
DEGUG:
Array
使用print()输出的结果是:
Hello !
DEGUG:
Array
使用print_r()输出的结果是:
Hello !
DEGUG:
Array
(
[name] =>
[Submit] => Submit
)
使用var_dump()输出的结果是:
Hello !
DEGUG:
array(2) {
["name"]=>
string(0) ""
["Submit"]=>
string(6) "Submit"
}
我们可以看到var_dump()输出的信息是最丰富的,所以经常使用这个函数来调试程序。
作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归
87c8
作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com 联系我,非常感谢。
#1楼 2016-05-23 22:40 my笔触
学习了,还在纠结用print_r还是var_dump调试,看来还是用var_dump吧。
#2楼 2016-08-26 10:52 杨先生1016
您好,我想问一下
var_dump(08==8)结果返回false,
而var_dump(07==7)结果返回的是true。
这其中涉及到了什么原理,您能为我讲解一下吗?
#3楼 2016-08-28 11:43 KoMiles
@ 杨先生1016
是因为按照8进制计算的
echo()
可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
print()
函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。
print_r()
可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
var_dump()
判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
看下面的代码form1.php
<html>
<head>
<title></title>
</head>
<body>
<form action="formprocess1.php" method="post">
<table>
<tr>
<td>Name</td>
<td><input type="text" name="name" id="name"/></td>
</tr>
<tr>
<td colspan="2" style="text-aligh:center">
<input type="Submit" name="Submit" value="Submit" />
</td>
</tr>
</table>
</form>
</body>
</html>
formprocess1.php
<html>
<head>
<title></title>
<body>
<?php
echo '<h1>Hello ' .$_POST["name"]. '!</h1>';
?>
<pre>
<strong>DEGUG:</strong>
<?php
echo($_POST);
?>
</pre>
</body>
</head>
</html>
使用echo输出的结果是:
Hello !
DEGUG:
Array
使用print()输出的结果是:
Hello !
DEGUG:
Array
使用print_r()输出的结果是:
Hello !
DEGUG:
Array
(
[name] =>
[Submit] => Submit
)
使用var_dump()输出的结果是:
Hello !
DEGUG:
array(2) {
["name"]=>
string(0) ""
["Submit"]=>
string(6) "Submit"
}
我们可以看到var_dump()输出的信息是最丰富的,所以经常使用这个函数来调试程序。
作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归
87c8
作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com 联系我,非常感谢。
#1楼 2016-05-23 22:40 my笔触
学习了,还在纠结用print_r还是var_dump调试,看来还是用var_dump吧。
#2楼 2016-08-26 10:52 杨先生1016
您好,我想问一下
var_dump(08==8)结果返回false,
而var_dump(07==7)结果返回的是true。
这其中涉及到了什么原理,您能为我讲解一下吗?
#3楼 2016-08-28 11:43 KoMiles
@ 杨先生1016
是因为按照8进制计算的
相关文章推荐
- PHP中echo,print_r与var_dump区别分析
- PHP中echo()、print()、print_r()、var_dump()的区别
- PHP:echo、print、print_r、sprintf、var_dump之间的区别
- php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
- php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
- PHP中echo,print_r与var_dump区别分析
- 初学php之echo print print_r var_dump的区别
- echo,die(),print(),print_r(),var_dump()的区别
- PHP中echo、print、print_r、printf、sprintf和var_dump的区别比较那些事!
- php echo, print(), print_r(), sprintf(), var_dump(), var_export() 的区别
- php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
- echo print() print_r() var_dump()的区别
- echo print() print_r() var_dump()的区别
- echo print() print_r() var_dump()的区别
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump) (转载)
- PHP:echo print var_dump()和print_r()的区别
- echo print() print_r() var_dump()的区别
- php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
- echo print() print_r() var_dump()的区别
- print_r、echo、var_dump三者的区别