echo是PHP語句, print和print_r是函數,語句沒有返回值,函數可以有返回值(即便沒有用)
print() 只能打印出簡單類型變量的值(如int,string)
print_r() 可以打印出復雜類型變量的值(如數組,對象)
echo 輸出一個或者多個字符串
print --輸出一個字符串
Description
int print ( string arg )//返回值為整形
print " 你好朋友" ;
可以進行下面操作
復制代碼 代碼如下:
$name=print " nihao \n" ;
$str = 'test print value is $name .';
eval_r(" \$print=\" $str\" ; " );
echo $print;
print_r -- 打印關於變量的易於理解的信息。
bool print_r ( mixed expression_r [, bool return] ) //返回值是布爾型的,參數是mix類型的,可以是字符串,整形,數組,對象類print_r() 顯示關於一個變量的易於理解的信息。如果給出的是 string、integer 或 float,將打印變量值本身。如果給出的是 array,將會按照一定格式顯示鍵和元素。object 與數組類似。
print_r() 將把數組的指針移到最後邊。
你可以
復制代碼 代碼如下:
print_r(str);
print_r(int);
print_r(array);
print_r(obj);
也可以用var_dump var_export
echo -- 輸出一個或者多個字符串
Description
void echo ( string arg1 [, string ...] ) //返回值為空
echo " 你好" ," 朋友" ;
總結:
PHP中echo和print的功能基本相同(輸出),但是兩者之間還是有細微差別的。echo輸出後沒有返回值,但print有返回值,當其執行失敗時返回flase。因此可以作為一個普通函數來使用,例如執行下面的代碼後變量$r的值將為1。
$r = print "Hello World";
這意味著print可用在一些復雜的表達式中,而echo則不行。但是,因為echo語句不要求返回任何數值,所已在代碼中echo語句的運行效率要略微快於print語句。
echo 沒有返回值;print 有返回值,print 的返回值總是1。