echo 和 print 是 PHP 的语言结构,有无括号均可使用。print_r() 和 printf() 是函数!语言结构和函数的区别:http://my.oschina.net/banbo/blog/295580
(1) echo 可以一次输出多个值,多个值直接用逗号分隔,如:echo $a,$b; 没有返回值,支持表达式:echo $a + 1;
(2) print 不可以一次输出多个值,print $a; 有返回值并且始终返回 1,支持表达式:print $a + 1; echo 和 print 只支持基本类型,布尔型除外支持的不完整( true 显示1,false 啥也不显示),数组只显示 Array,不支持输出对象。echo 和 print 的具体差异请参考:http://www.w3school.com.cn/php/php_echo_print.asp
(3) print_r() 支持字符串、数字、数组、对象,可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,对象能打印出属性。不支持布尔值。
(4) 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'); 无效。
来源:oschina
链接:https://my.oschina.net/u/1159195/blog/295598