1. 程式人生 > >echo,print(),print_r(),sprintf(),var_dump()的區別

echo,print(),print_r(),sprintf(),var_dump()的區別

返回 不是函數 輸出變量 而且 log int() 長度 例如 ()

PHP中幾個輸出函數echo,print(),print_r(),sprintf(),var_dump()的區別

1:echo:是語句不是函數,沒有返回值,可輸出多個變量值,不需要圓括號。不能輸出數組和對象,只能打印簡單類型(如int,string)。

2:print:是語句不是函數,有返回值 1 ,只能輸出一個變量,不需要圓括號。不能輸出數組和對象,只能打印簡單類型(如int,string)。

3:print_r:是函數,可以打印復合類型,例如:stirng、int、float、array、object等,輸出array時會用結構表示,而且可以通過print_r($str,true)來使print_r不輸出而返回print_r處理後的值

4:printf:是函數,把文字格式化以後輸出(參看C語言)

5:sprintf:是函數,跟printf相似,但不打印,而是返回格式化後的文字(該函數把格式化的字符串寫寫入一個變量中,而不是輸出來),其 他的與printf一樣。

例如:

1 $str = "Hello";    
2 $number = 123; 
3 $txt = sprintf("%s world. Day number %u",$str,$number);
4 //輸出: Hello world. Day number 123 

6:var_dump():函數,輸出變量的內容、類型或字符串的內容、類型、長度。常用來調試。

可以通過function_exists(‘函數名稱‘)進行測試

1 var_dump(function_exists(‘print‘));  //bool(false)
2 
3 var_dump(function_exists(‘echo‘));  //bool(false)
4 
5 var_dump(function_exists(‘print_r‘)); //bool(true)

echo,print(),print_r(),sprintf(),var_dump()的區別