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()输出的信息是最丰富的,所以经常使用这个函数来调试程序。

 

print和echo是语言结构,echo输出多个值,多个值之间用逗号分隔,无返回值;print只能输出一个值,有返回值。echo和print输出整型和字符串,没法打印布尔型,如果true,打印1,false打印为空。

print_r()除了输出整型和字符串,还可以输出数组和对象,数组和对象使用键值对形式表示,数组时候array(键值对形式);对象时候Object(键值对形式);没法打印布尔型,如果true,打印1,false和NULL打印为空。

var_dump()判断变量的类型与长度,并输出变量的数值。如果是数组和对象,将递归展开值,通过缩进显示其结构。能够打印布尔和NULL。

var_export()和var_dump()类似,其返回合法的php代码,其返回值可以赋值给php变量。

var_dump()可以打印多个变量,中间用逗号隔开;print_r()和var_export()打印一个变量,第二个参数设定为true,将打印内容返回。

 注:

  • echo、print语言结构,非函数,能打印整型和字符串。
  • print_r()和var_export()打印整型、字符串外,还能打印数组、对象,以键值对形式打印数组、对象。var_export()还可打印布尔值。
  • var_export()在第二个参数设置true,不会打印变量,而是将其以字符串形式返回,返回值可以赋值给php变量。
  • var_dump()除了打印整型、字符串、数组、对象,还能打印布尔型。而且是输出变量类型、长度和值。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值