echo,print(),print_r(),sprintf(),var_dump()的區別
阿新 • • 發佈:2017-08-04
返回 不是函數 輸出變量 而且 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()的區別