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

 1 <html>
 2     <head>
 3         <title></title>
 4     </head>
 5     <body>
 6         <form action="formprocess1.php" method="post">
 7         <table>
 8             <tr>
 9                 <td>Name</td>
10                 <td><input type="text" name="name" id="name"/></td>
11             </tr>
12             <tr>
13                 <td colspan="2" style="text-aligh:center">
14                 <input type="Submit" name="Submit" value="Submit" />
15                 </td>
16             </tr>
17         </table>
18         </form>
19     </body>
20 </html>

formprocess1.php

 1 <html>
 2     <head>
 3         <title></title>
 4         <body>
 5         <?php
 6         echo '<h1>Hello ' .$_POST["name"]. '!</h1>';
 7         ?>
 8         <pre>
 9         <strong>DEGUG:</strong>
10         <?php
11         echo($_POST);
12         ?>
13         </pre>
14         </body>
15     </head>
16 </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()输出的信息是最丰富的,所以经常使用这个函数来调试程序。

posted @ 2016-11-08 01:06  飞越全球  阅读(164)  评论(0编辑  收藏  举报