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'); 無效。
php