首頁  >  文章  >  後端開發  >  php 中echo和print的差別你知道嗎?

php 中echo和print的差別你知道嗎?

怪我咯
怪我咯原創
2017-07-06 10:06:131349瀏覽

這篇文章主要介紹了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=&#39;hello &#39;;$b=&#39;php world!&#39;;echo $a,$b.&#39;<br />&#39;;//echo 可以用逗号分隔字符串变量来显示
print $a.$b.&#39;<br />&#39;;//而print不能使用逗号,只能用点号分隔,
//print $a,$b.&#39;<br />&#39;;//这里使用逗号时报错。
?>

分析摘要:

echo    指令和print指令相同,沒有差異 
echo    函數與print函數有差別。
echo()    無返回值,與echo命令相同 
print()    有返回值,成功,返1,false,返0.   
printf()    和 sprintf()類似,皆為格式化輸出,不同的是前者輸出到標準輸出,後者輸出到變數 

形如:

echo  <<< EOT 
EOT; 
print  <<< EOT 
EOT;

的書寫格式,其意義如下:

<<<    運算子,將由自訂分界符間的內容視為字串,可對其間的變數做處理 
EOT    自訂分界符,結束時必須位於行首

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

以上是php 中echo和print的差別你知道嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn