echo(),print(),print_r(),var_dump的区别?
Posted 李先森博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echo(),print(),print_r(),var_dump的区别?相关的知识,希望对你有一定的参考价值。
常见的输出语句
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()输出的信息是最丰富的,所以经常使用这个函数来调试程序。
以上是关于echo(),print(),print_r(),var_dump的区别?的主要内容,如果未能解决你的问题,请参考以下文章
echo,print(),print_r()和var_dump()有什么区别?
[PHP基础] echo/print/print_r 之间的区别