PHP打印語句
PHP常見的輸出語句:
echo(): 可以一次輸出多個(gè)值,多個(gè)值之間用逗號(hào)分隔。echo是語言結(jié)構(gòu)(language construct),而并不是真正的函數(shù),因此不能作為表達(dá)式的一部分使用。
print(): 函數(shù)print()打印一個(gè)值(它的參數(shù)),如果字符串成功顯示則返回true,否則返回false。
print_r(): 可以把字符串和數(shù)字簡(jiǎn)單地打印出來,而數(shù)組則以括起來的鍵和值得列表形式顯示,并以Array開頭。但print_r()輸出布爾值和NULL的結(jié)果沒有意義,因?yàn)槎际谴蛴?\n"。因此用var_dump()函數(shù)更適合調(diào)試。
var_dump(): 判斷一個(gè)變量的類型與長度,并輸出變量的數(shù)值,如果變量有值輸?shù)氖亲兞康闹挡⒒胤禂?shù)據(jù)類型。此函數(shù)顯示關(guān)于一個(gè)或多個(gè)表達(dá)式的結(jié)構(gòu)信息,包括表達(dá)式的類型與值。數(shù)組將遞歸展開值,通過縮進(jìn)顯示其結(jié)構(gòu)。
echo 是語法結(jié)構(gòu),也就是關(guān)鍵字,不是函數(shù)。使用的時(shí)候不用加括號(hào),加上也可以。顯示多個(gè)值的時(shí)候可以用逗號(hào)隔開。只支持基本類型,布爾型除外,echo true的時(shí)候顯示1,echo false的時(shí)候啥都沒有。
print 和 echo 基本一致。但是print 不支持逗號(hào)分隔多個(gè)顯示變量的語法。
print_r 是函數(shù),不僅可以打印變量的的值,還能顯示變量類型,而且也可以顯示數(shù)組和對(duì)象這樣復(fù)雜的變量類型。print_r() 將把數(shù)組的指針移到最后邊。使用 reset() 可讓指針回到開始處。
print $a == print "$a" ,兩者效果相同,echo 同理。
兩者相同點(diǎn):
- echo 和 print 都是語言結(jié)構(gòu)(官方文檔解釋為language construct);
- echo 和 print 都是用來輸出字符串的;
- 當(dāng)同時(shí)只有一個(gè)參數(shù)的時(shí)候,echo 和 print 后面的括號(hào)(parenthesis)都是可選的,即:echo ($argument1) 等價(jià)于 echo $argument1,print(argument)等價(jià)于print argument;
- echo 和 print 在輸出之前,都會(huì)將參數(shù)的進(jìn)行轉(zhuǎn)換,嘗試轉(zhuǎn)換為字符串類型。
兩者的區(qū)別:
- echo能接受N個(gè)字符串類型的參數(shù)(注意:有多個(gè)參數(shù)的時(shí)候,不能使用括號(hào),即echo $arg1,$arg2是正確的,echo($arg1,$arg2)會(huì)導(dǎo)致解析錯(cuò)誤); print只能接收1個(gè)字符串類型的參數(shù);
- echo沒有返回值; print有返回值,其值永遠(yuǎn)為int類型的1。
- 在這里引用PHP官方原文檔的說明 : "The major differences to echo are that print only accepts a single argument and always returns 1."
- echo 可以輸出一個(gè)或多個(gè)字符串;print 只允許輸出一個(gè)字符串,返回值總為 1;
- echo 輸出的速度比 print 快;
- echo 沒有返回值,print 有返回值 1;
浙公網(wǎng)安備 33010602011771號(hào)