php輸出echo、print、print_r、printf、sprintf、var_dump等函數(shù)的區(qū)別比較
echo,語(yǔ)言結(jié)構(gòu),非函數(shù),無(wú)括號(hào)時(shí)可以多個(gè)值,用逗號(hào)分割。整形和字符串,布爾類型會(huì)轉(zhuǎn)換成1或空,無(wú)返回值(推薦學(xué)習(xí):PHP編程從入門到精通)
echo() 實(shí)際上不是一個(gè)函數(shù),是php語(yǔ)句,因此您無(wú)需對(duì)其使用括號(hào)。不過(guò),如果您希望向 echo() 傳遞一個(gè)以上的參數(shù),那么使用括號(hào)會(huì)發(fā)生解析錯(cuò)誤。而且echo是返回void的,并不返回值,所以不能使用它來(lái)賦值。
print,語(yǔ)言結(jié)構(gòu),非函數(shù),只能一個(gè)參數(shù)值,比echo慢。打印類型同echo,無(wú)返回值
print() 和 echo() 用法一樣,但是echo速度會(huì)比print快一點(diǎn)點(diǎn)。實(shí)際上它也不是一個(gè)函數(shù),因此您無(wú)需對(duì)其使用括號(hào)。
print_r,可以輸出整形、字符串、數(shù)組、對(duì)象,第二個(gè)參數(shù)設(shè)定為true,將打印內(nèi)容返回
print_r函數(shù)打印關(guān)于變量的易于理解的信息。
mixed print_r ( mixed $expression [, bool return ] )
如果變量是string , integer or float , 將會(huì)直接輸出其值,如果變量是一個(gè)數(shù)組,則會(huì)輸出一個(gè)格式化后的數(shù)組,便于閱讀,也就是有key和value對(duì)應(yīng)的那種格式。對(duì)于object對(duì)象類同。
print_r有兩個(gè)參數(shù),第一個(gè)是變量,第二個(gè)可設(shè)為true,如果設(shè)為true,則會(huì)返回字符串,否則返回布爾值TRUE。
sprintf,把格式化的字符串寫(xiě)入變量中,返回格式化好的字符串
printf,輸出格式化的字符串,無(wú)返回值
fprintf,把格式化的字符串寫(xiě)入指定的輸出流(例如:文件或數(shù)據(jù)庫(kù)),無(wú)返回值
vfprintf,把格式化的字符串寫(xiě)到指定的輸出流(例如:文件或數(shù)據(jù)庫(kù)),參數(shù)是數(shù)組,無(wú)返回值
vprintf,輸出格式化的字符串,參數(shù)位于數(shù)組中,無(wú)返回值
vsprintf,把格式化字符串寫(xiě)入變量中,參數(shù)位于數(shù)組中,返回格式化的字符串
var_dump,可以打印多個(gè)變量及其類型,中間用逗號(hào)隔開(kāi),可以打印布爾值,無(wú)返回值
var_export,返回合法的php代碼,可以打印布爾值 第二個(gè)參數(shù)設(shè)定為true,可以將打印內(nèi)容返回給變量