區(qū)別:1、echo沒有返回值,print返回值始終是1,“print_r”當(dāng)參數(shù)設(shè)置為“true”時(shí)才有返回值;2、“print_r”用于打印變量,而echo和print用于輸出一個(gè)或多個(gè)字符串。
本教程操作環(huán)境:windows10系統(tǒng)、PHP7.1版,DELL G3電腦
php中echo、print和print_r的區(qū)別是什么
echo是PHP語句, print和print_r是函數(shù),語句沒有返回值,函數(shù)可以有返回值(即便沒有用)
-
print() 只能打印出簡單類型變量的值(如int,string)
-
print_r() 可以打印出復(fù)雜類型變量的值(如數(shù)組,對象)
-
echo 輸出一個(gè)或者多個(gè)字符串
print –輸出一個(gè)字符串
Description
int print ( string arg )//返回值為整形
print " 你好朋友" ;
可以進(jìn)行下面操作
$name=print " nihao n" ; $str = 'test print value is $name .'; eval_r(" $print=" $str" ; " ); echo $print;
print_r — 打印關(guān)于變量的易于理解的信息。
bool print_r ( mixed expression_r [, bool return] ) //返回值是布爾型的,參數(shù)是mix類型的,可以是字符串,整形,數(shù)組,對象類print_r() 顯示關(guān)于一個(gè)變量的易于理解的信息。如果給出的是 string、integer 或 float,將打印變量值本身。如果給出的是 array,將會按照一定格式顯示鍵和元素。object 與數(shù)組類似。
print_r() 將把數(shù)組的指針移到最后邊。
你可以
print_r(str); print_r(int); print_r(array); print_r(obj);
也可以用var_dump var_export
echo — 輸出一個(gè)或者多個(gè)字符串
Description
void echo ( string arg1 [, string ...] ) //返回值為空 echo " 你好" ," 朋友" ;
總結(jié):
PHP中echo和print的功能基本相同(輸出),但是兩者之間還是有細(xì)微差別的。echo輸出后沒有返回值,但print有返回值,當(dāng)其執(zhí)行失敗時(shí)返回flase。因此可以作為一個(gè)普通函數(shù)來使用,例如執(zhí)行下面的代碼后變量$r的值將為1。
$r = print "Hello World";
這意味著print可用在一些復(fù)雜的表達(dá)式中,而echo則不行。但是,因?yàn)閑cho語句不要求返回任何數(shù)值,所已在代碼中echo語句的運(yùn)行效率要略微快于print語句。
echo 沒有返回值;print 有返回值,print 的返回值總是1。
大家如果感興趣的話,可以點(diǎn)擊《PHP視頻教程》進(jìn)行