echo var_dump print_r print的区别

Posted xfsong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echo var_dump print_r print的区别相关的知识,希望对你有一定的参考价值。

echo

1,echo是调试函数,没有实际的开发应用场景,从严格意义上来讲echo不是一个函数而是一个语言结构;

2,echo的说明:voidecho(string[,string] )

2,echo能够输出标量类型,但不能输出复合类型;

3,echo输出的内容是字符串,能够输出一个或者多个,输出多个字符串的时候用英文状态下的逗号 ( , ) 连接, 外面的括号可加可不加,,输出多个变量,不能加括号;

4,echo没有返回值;

5,echo输出的内容不会自动换行;

var_dump()

1,var_dump()也是调试函数,没有实际的应用开发场景,var_dump()是真正的函数;

2,var_dump()说明:voidvar_dump(mixed[,mixed] )

3,var_dump()除了能够打印标量类型之外,还能够打印复合类型;

4,var_dump()能够打印表达式的多个信息,包括表达式的类型和值,如果打印的是数组会按照递归展开值,通过缩进显示结构;

5,var_dump()打印对象时对现实对象的属性信息比如protected和private属性,不会显示类的静态属性;

6,var_dump()同样没有返回值;

7,var_dump()有第二个参数,通常不会用到;

print_r()

1,print_r()也是调试函数,本身没有实际的应用开发场景,print_r()是真正的函数;

2,print_r()说明:mixedprint_r(mixed[,bool=] )

3,print_r()能够打印复合类型,打印出人更容易阅读的格式信息,如果打印的是标量类型,print_r()会直接输出本身,数组和对象类型展示数组的键和元素;

4,print_r()打印对象时对现实对象的属性信息比如protected和private属性,不会显示类的静态属性;

5,print_r()有布尔类型的第二参数,默认是falase,如果设置为true,函数直接回返回信息,而不是输出,通常不会使用;

print()

1,print()也是调试函数,本身没有实际的应用开发场景,从严格意义上来讲echo不是一个函数而是一个语言结构,相对于上面三种,php很少使用此函数调试;

2,print()说明:intprint(string)

3,print()能打印标量类型,不能够打印数组和对象;

4,print()的返回值恒定为1,和echo有区别的是,print()只能打印一个参数;

printf()

1,printf()也是调试函数,本身没有实际的应用开发场景;

2,printf()说明:intprintf(string[,mixed[,mixed]] )

3,printf()能打印标量类型,不能够打印数组和对象,输出的是被格式化的字符串;

4,printf()的返回值的字符串的长度;

以上是关于echo var_dump print_r print的区别的主要内容,如果未能解决你的问题,请参考以下文章

echo,print(),print_r()和var_dump()有什么区别?

php7中echo,print,print_r,var_dump 的区别

echo var_dump print_r print的区别

echo???print()???print_r()???sprintf()???var_dump()?????????

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

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