首页 > 代码库 > php的echo(),print(),print_r()的区别

php的echo(),print(),print_r()的区别

echo() 和 print() 都属于语言结构(http://my.oschina.net/banbo/blog/295580),可不带括号:echo $a;  print $a;

(1) echo 可以一次输出多个值,多个值直接用逗号分隔,如:echo $a,$b; 没有返回值,支持表达式:echo $a + 1,$b + 2;。

(2) print 不可以一次输出多个值,print $a; 有 int 返回值,打印正确返回 1, 打印失败返回 0,支持表达式:print $a + 1。echo 和 print 只支持基本类型,不过布尔型 true 显示1,false 啥都没有。

(3) printf() 类似 C 中的printf() 函数:printf("%s world. Day number $n", $str, $num); 可传入变量或表达式:printf("%s world. Day number $n", substr($str, 0, 2), $num);,传值无效:printf("%s world. Day number $n", ‘Hello‘, ‘100‘); 无效。

(4) print_r() 支持字符串、数字、数组、对象,可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,对象能打印出属性。不支持布尔值。