php中的echo
『壹』 php echo()和print()、require()和include()函數區別說明
1.echo和print的區別
PHP中echo和print的功能基本相同(輸出),但是兩者之間還是有細微差別的。echo輸出後沒有返回值,但print有返回值,當其執行失敗時返回flase。因此可以作為一個普通函數來使用,例如執行下面的代碼後變數$r的值將為1。
$r
=
print
「Hello
World」;
這意味著print可用在一些復雜的表達式中,而echo則不行。但是,因為echo語句不要求返回任何數值,所已在代碼中echo語句的運行效率要略微快於print語句。
2.include與require的區別
include()與require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有條件包含函數,而require()則是無條件包含函數。例如在下面代碼中,如果變數$a為真,則將包含文件a.php:
if($a){
include(「a.php」);
}
而require()則和include()不同,不管$a取何值,下面的代碼將把文件a.php包含進文件里:
if($a){
require(「a.php」);
}
在錯誤處理方面,使用include語句,如果發生包含錯誤,程序將跳過include語句,雖然會顯示錯誤信息但是程序還是會繼續執行!但requre卻會給你來個致命錯誤。
當然,從字面意思上我們也可以理解七分:requre是很強硬的請求、要求的意思。
3.require_once()和include_once()語句
題外話了,因為長的像,簡單require_once()和include_once()語句分別對應於require()和include()語句。require_once()
和include_once()語句主要用於需要包含多個文件時,可以有效地避免把同一段代碼包含進去而出現函數或變數重復定義的錯誤。
4.空字元串(」)和NULL的區別
PHP中空字元串和NULL都是以值為0存儲的,但是他們的類型並不一樣,你可以試一下echo
gettype(」);和echo
gettype(NULL);你會發現他們列印出來的分別是string和NULL,當然還有0也容易混淆,你可以試試echo
gettype(0);列印一下類型,會發現0的類型是integer(整型),可見字元串(」)、NULL和0是「等值」但不等類型。
5.isset和
empty的區別
從字面意思上我們就可以明白:empty是判斷一個變數是否為「空」,而isset
則是判斷一個變數是否已經設置。但是這里有一點絕對要注意起來:當一個變數值為0,empty
認為這個變數同等於空,即相當於沒有設置。比如當我們檢測$id
變數的時候,當$id=0
,用empty和isset來檢測變數$id是否已經配置,兩都將返回不同的值:empty
認為沒有配置,isset
則能夠取得
$id
的值,看下邊例子:
$id=0;
emptyempty($id)?print
「我是空的」:print
「我是$id
.」;
//結果:我是空的
!isset($id)?print
「我是空的」:print
「我是$id
.」;//結果:我是0
6.==(等)和===(恆等)的區別
回顧上面第四條空字元串(「」)和NULL的區別,再來看一個例子:
」
==
NULL;
」
===
NULL;
運行之後你會發現第一個為true,而第二個則為false!可見==只是比較值是否相等,而===則不但比較值,還會比較類型,更為嚴格。
『貳』 php中echo 與print 的區別
兩者相同點:
echo 和 print 都是語言結構(官方文檔解釋為language construct);
echo 和 print 都是用來輸出字元串的;
當同時只有一個參數的時候,echo 和 print 後面的括弧(parenthesis)都是可選的,即:echo ($argument1) 等價於 echo $argument1,print(argument)等價於print argument;
echo 和 print 在輸出之前,都會將參數的進行轉換,嘗試轉換為字元串類型。
兩者的區別 :
echo能接受N個字元串類型的參數(注意:有多個參數的時候,不能使用括弧,即echo $arg1,$arg2是正確的,echo($arg1,$arg2)會導致解析錯誤); print只能接收1個字元串類型的參數;
echo沒有返回值; print有返回值,其值永遠為int類型的1。
在這里引用PHP官方原文檔的說明 : "The major differences toechoare thatprintonly accepts a single argument and always returns 1."
『叄』 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的效率相對比較快!
代碼:
$a='hello ';$b='php world!';echo $a,$b.'
';//echo 可以用逗號分隔字元串變數來顯示
print $a.$b.'
';//而print不能使用逗號,只能用點號分隔,
//print $a,$b.'
';//這里使用逗號時報錯。
?>
分析總結:
echo 命令和print命令相同,沒有區別
echo 函數和print函數有區別。
echo() 無返回值,與echo命令相同
print() 有返回值,成功,返1,false,返0.
printf() 和sprintf()類似,均為格式化輸出,不同的是前者輸出到標准輸出,後者輸出到變數
形如:
echo <<< EOT
EOT;
print <<< EOT
EOT;
的書寫格式,其含義:
<<<運算符,將由自定義分界符間的內容視為字元串,可對其間的變數做處理
EOT自定義分界符,結束時必須位於行首。
『肆』 php中echo <<<什麼意思
定界符
echo<<<ETO
<html>
<head>
</head>
<body>
xxxx
</body>
</html>
ETO;
ETO是我隨便取得,需要注意的是,結尾的要一致,並且頂頭(不能有任何東西,包括空格)