echo() 函數(shù)輸出一個(gè)或多個(gè)字符串。
注釋:echo() 函數(shù)實(shí)際不是一個(gè)函數(shù),所以您不必對(duì)它使用括號(hào)。然而,如果您希望向 echo() 傳遞一個(gè)以上的參數(shù),使用括號(hào)將會(huì)生成解析錯(cuò)誤。
提示:echo() 函數(shù)比 print() 速度稍快。
提示:echo() 函數(shù)也有簡寫語法。在 PHP 5.4.0 之前,該語法只適用于 short_open_tag 配置設(shè)置啟用的情況。
print_r() 函數(shù)用于打印變量,以更容易理解的形式展示。
一般來說,PHP中動(dòng)態(tài)輸出HTML內(nèi)容,是通過print 和 echo 語句來實(shí)現(xiàn)的,在實(shí)際使用中, print 和 echo 兩者的功能幾乎是完全一樣??梢赃@么說,凡是有一個(gè)可以使用的地方,另一個(gè)也可以使用。但是,兩者之間也還是一個(gè)非常重要的區(qū)別:在 echo 函數(shù)中,可以同時(shí)輸出多個(gè)字符串,而在 print 函數(shù)中則只可以同時(shí)輸出一個(gè)字符串。同時(shí),echo函數(shù)并不需要圓括號(hào),所以echo函數(shù)更像是語句而不像是函數(shù)。
echo 和 print 都不是函數(shù),而是語言結(jié)構(gòu),所以圓括號(hào)都不是必需的。
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
print_r ($a);
?>
輸出結(jié)果為:
Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) )
他們的區(qū)別在于:
(1) echo可以輸出多個(gè)字符串,像下面這樣:
echo 'a','b','c';
如果你非要加上圓括號(hào),注意寫成echo ('a','b','c');是錯(cuò)誤的,應(yīng)該寫成:
echo ('a'),('b'),('c');
它沒有像函數(shù)的行為,所以不能用于函數(shù)的上下文
(2) print只能輸出一個(gè)字符串,它可以表現(xiàn)得像一個(gè)函數(shù),比如你可以如下使用:
$ret = print 'Hello World';
所有它能用在更復(fù)雜的表達(dá)式中。
另外,echo的效率相對(duì)比較快!
看看如下代碼:
<?php
$a='hello ';$b='php world!';echo $a,$b.'<br />';//echo 可以用逗號(hào)分隔字符串變量來顯示
print $a.$b.'<br />';//而print不能使用逗號(hào),只能用點(diǎn)號(hào)分隔,
//print $a,$b.'<br />';//這里使用逗號(hào)時(shí)報(bào)錯(cuò)。
?>
分析總結(jié):
echo 命令和print命令相同,沒有區(qū)別
echo 函數(shù)和print函數(shù)有區(qū)別。
echo() 無返回值,與echo命令相同
print() 有返回值,成功,返1,false,返0.
printf() 和sprintf()類似,均為格式化輸出,不同的是前者輸出到標(biāo)準(zhǔn)輸出,后者輸出到變量
形如:
echo <<< EOT
EOT;
print <<< EOT
EOT;
的書寫格式,其含義如下:
<<< 運(yùn)算符,將由自定義分界符間的內(nèi)容視為字符串,可對(duì)其間的變量做處理
EOT 自定義分界符,結(jié)束時(shí)必須位于行首
總結(jié):
print 是打印字符串
print_r 則是打印復(fù)合類型 如數(shù)組 對(duì)象等
在PHP中的執(zhí)行速率從快到慢為:echo(), print(), print_r()
echo是PHP語句, print和print_r是函數(shù),語句沒有返回值,函數(shù)可以有返回值(即便沒有用)
print() 只能打印出簡單類型變量的值(如int,string)
print_r() 可以打印出復(fù)雜類型變量的值(如數(shù)組,對(duì)象)
echo 輸出一個(gè)或者多個(gè)字符串
修正:
print 實(shí)際上不是函數(shù)(而是語言結(jié)構(gòu)),所以可以不用圓括號(hào)包圍參數(shù)列表。
和 echo 最主要的區(qū)別: print 僅支持一個(gè)參數(shù),并總是返回 1
如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇