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

时间: 2024-12-16 16:23:04

echo(),print(),print_r(),var_dump的区别?的相关文章

echo print() print_r() var_dump()的区别

常见的输出语句 echo()可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用. print()函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false. print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头.但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n".因此

PHP中输出 echo print print_r var_dump的区别与比较

PHP中输出 echo  print print_r  var_dump的区别与比较 echo->是输出语句,不是函数,没有返回值,可输出多个变量值,多个值之间用逗号分隔,不需要圆括号,但不能输出数组和对象,只能打印简单类型: print->是输出语句,不是函数,有返回值1,只能输出一个变量,,不需要圆括号,也不能输出数组和对象,只能打印简单类型: print_r->是函数,可以打印简单类型和复合类型的数据,可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以A

输出echo print print_r() var_dump()的区别

echo: 语言结构,echo或echo()均可:能够输出一个以上字符串.可以接受多个参数:当是一次输出多个值,多个值之间用逗号分隔.没有返回值. print: 语言结构(有的地方也说是函数,但不是实际函数,故一般不需要对其使用()),print或print()均可:只能输出一个字符串,只能接受一个参数:并始终返回1.只能打印出简单类型变量的值(如 int,string),不能输出数组和对象. 提示:echo 比 print 稍快,因为它不返回任何值. print_r(): 是函数,有返回值.

[PHP基础] echo/print/print_r 之间的区别

很长一段时间只知道在类型复杂时使用print_r输出,简单的使用 echo ,今天特此深究下这个问题,什么时候用echo ,print,pinrt_f,废话少说直接开始 先写4种类型:整形,字符串,数组,函数 $inte = 2;//整形 $str= 'dwqdw';//字符串 $arr = ['1','2','3'];//数组 //函数 function xx(){ echo 123; } echo $inte; print($inte); print_r($inte); 结果:222,输出一

echo(),print(),print_r(),var_dump()函数的区别

echo:是PHP语句,语句是没有返回值的,而 print 和 print_r 是函数,函数可以有返回值. print:只能打印出简单类型变量的值(如 int,string) print_r:可以打印出复杂类型变量的值(如数组,对象) echo:输出一个或者多个字符串 var_dump:可以打印出复杂类型变量的值和类型

php中echo(),print(),print_r(),var_dump()间的区别

echo()函数:输出一个或多个字符串.实际上它并不是一个函数,所以不必对它使用括号,直接用echo就行.然而,如果您希望向echo()传递一个以上的参数,使用括号将会生成解析错误.echo()函数比print()速度稍快一点.echo输出多个字符串时,用逗号隔开. 例如1:(把字符串变量$str的值写入输入) <?php $str="hello world!"; echo $str; ?> 运行结果:hello world! 例如2:(echo输出多个字符串) echo

php中echo(),print(),print_r()用法

原文 php中echo(),print(),print_r()用法 从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但print_r可以打印数组而前两者是不可以的,下面我来详细介绍它们三个的用法与区别吧. echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print() 只能打印出简单类型变量的值(如int,string) print_r() 可以打印出复杂类型

PHP调试时print_r ,var_dump的区别

1. 说到输出,不得不提到php中的打印了. 首先当然是最常用的echo了,echo :输出一个或多个字符串: print:和echo一样,但速度比echo慢.print_r:           打印关于变量的易于理解的信息,如果给出的是 string.integer 或 float,将打印变量值本身.如果给出的是 array,将会按照一定格式显示键和元素.object 与数组类似. 记住,print_r() 将把数组的指针移到最后边.使用 reset() 可让指针回到开始处. var_exp

php中echo print print_r 的区别

直接写个table列出来 写一段代码哈 <?php $str="php @ net dictionary @ asp [email protected] jsp dictionary"; $str_explode=explode("@",$str); echo "补充exp()返回 e 的 x 次方值"."<br>"; echo $str_explode."<br>"; pri