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