PHP中echo和print的區別

這篇文章主要介紹了PHP中echo和print的區別,針對二者使用中常見的用法區別進行了較爲深入的總結與分析,需要的朋友可以參考下。

一般來說,PHP中動態輸出HTML內容,是通過print 和 echo 語句來實現的,在實際使用中, print 和 echo 兩者的功能幾乎是完全一樣。可以這麼說,凡是有一個可以使用的地方,另一個也可以使用。但是,兩者之間也還是一個非常重要的區別:在 echo 函數中,可以同時輸出多個字符串,而在 print 函數中則只可以同時輸出一個字符串。同時,echo函數並不需要圓括號,所以echo函數更像是語句而不像是函數。
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 自定義分界符,結束時必須位於行首

相信本文所述對大家更好的掌握PHP程序設計有一定的借鑑價值。


發佈了21 篇原創文章 · 獲贊 14 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章