echo 和 print 都不是函數,而是語言結構,所以圓括號都不是必需的。他們的區別在於:
(1) echo可以輸出多個字符串,像下面這樣:
echo 'a','b','c';
如果你非要加上圓括號,注意寫成echo ('a','b','c');是錯誤的,應該寫成:
echo ('a'),('b'),('c');
它沒有像函數的行爲,所以不能用於函數的上下文
(2) print只能輸出一個字符串,它可以表現得像一個函數,比如你可以如下使用:
$ret = print 'Hello World';
所有它能用在更復雜的表達式中。
另外,echo的效率相對比較快~
如下代碼:
<?php
$a='hello ';$b='php world!';echo $a,$b.'<br />';//echo 可以用逗號分隔字符串變量來顯示print $a.$b.'<br />';//而print不能使用逗號,只能用點號分隔,print $a,$b.'<br />';//使用逗號時報錯。
?>
echo 命令和 print 命令 相同,沒有區別
echo 函數 和 print 函數 有區別。
echo() 無返回值,與echo 命令相同
print() 有返回值,成功,返1,false,返0.
printf() 和 sprintf() 類似,均爲格式化輸出,不同的是前者輸出到標準輸出,後者輸出到變量
形如
echo <<< EOT
EOT;
print <<< EOT
EOT;
的書寫格式,其含義如下:
<<< 運算符,將由自定義分界符間的內容視爲字符串,可對其間的變量做處理
EOT 自定義分界符,結束時必須位於行首