echo和print的區別


常見的輸出語句

echo(): 可以一次輸出多個值,多個值之間用逗號分隔。echo是語言結構(language construct),而並不是真正的函數,因此不能作為表達式的一部分使用。

print(): 函數print()打印一個值(它的參數),如果字符串成功顯示則返回true,否則返回false。

print_r(): 可以把字符串和數字簡單地打印出來,而數組則以括起來的鍵和值得列表形式顯示,並以Array開頭。但print_r()輸出布爾值和NULL的結果沒有意義,因為都是打印"\n"。因此用var_dump()函數更適合調試。

var_dump(): 判斷一個變量的類型與長度,並輸出變量的數值,如果變量有值輸的是變量的值並回返數據類型。此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。

 
 
在實際使用中, 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    自定義分界符,結束時必須位於行首 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM