本篇文章一直來學習PHP中所有用於輸出信息的函數,分類比較來學習其相同點與不同點,掌握日常開發中必備的技巧。
開發就一定需要調試代碼,而PHP調試代碼不能像iOS那種編譯器語言可以通過Xcode這樣的開發軟件來單步調試,因此開發PHP的人員通常會通過輸出函數打印相關提示信息來調試代碼。
PHP中常用的打印輸出的函數一步步講解
echo
echo函數可以同時輸出多個字符串,帶多個參數,但並不要求使用圓括號,也沒有返回值。但是,如果帶上圓括號也沒有問題的,因此函數本就需要圓括號的:
echo '標哥的技術博客<br>'; echo ('echo也可以帶括號<br>');
相信echo函數是使用最多的打印函數了吧!
print
print函數同時只能輸出一個字符串,只能帶一個參數,需要帶圓括號而且會有返回值。當其執行失敗時返flase。
print('www.huangyibiao.com<br>');
print函數使用也是相當多的,用於打印信息,不過沒有echo那麼方便,但它有它的用處!
printf
printf函數帶有兩個參數,第一個參數是指定輸出格式,第二個參數是要輸出的變量。輸出格式為:
%s: 按字符串;
%d: 按整型;
%b: 按二進制;
%x: 按16進制;
%o: 按八進制;
$f: 按浮點型
/* $var = 10; printf('整型:%d<br>', $var); printf('浮點型:%.2f<br>', $var); // 保留兩位小數 printf('字符串:%s<br>', $var); printf('二進制:%b<br>', $var); printf('八進制:%o<br>', $var); printf('十六進制:%x<br>', $var); // 打印結果 /* 整型:10 浮點型:10.00 字符串:10 二進制:1010 八進制:12 十六進制:a */
sprintf
sprintf不能直接輸出變量值,而是直接將值讀取給指定的變量:
$ret = sprintf('%.2f', $var); echo "結果:{$ret}<br>";
這個函數用於格式化變量輸出是非常有用的,使用也很多!
print_r
print_r這個函數用於輸出數組,帶一個或者兩個。如果參數二設置為YES,則不會輸出表達式信息,而是直接return回來:
mixed print_r ( mixed $expression [, bool $return = false ] )
$arr = array('name' => '標哥的技術博客', 'site' => 'www.huangyibiao.com'); print_r($arr); echo '<br>'; // 參數二設置為true則不會打印,而是直接返回 $arr1 = print_r($arr, true); echo "{$arr1}<br>";
var_dump
var_dump這個函數在調試過程中使用最多了吧,用於輸出變量的內容、類型、字符串的內容,常用於開發中調試使用:
// 當打印的是字符串,其中有對象時,打印出來是: // string(20) "var_dump:Array var_dump('var_dump:' . $arr . '<br>'); // 當只有對象本身時,打印出來如下: // " array(2) { ["name"]=> string(21) "標哥的技術博客" ["site"]=> string(19) "www.huangyibiao.com" } var_dump($arr);
die
die函數使用也是很廣泛的,在調試過程中,經常會中斷下面的執行,它會先輸出內容,然後退出程序或者不輸出內容:
if (!isset($type)) { die('I am die!<br>'); }
總結:
以上函數都可以打印對象的值、系統函數值以及數組的內容;
echo 、print、printf可以打印變量內容,但不能顯示數組及系統超級變量數組;
print_r 和 var_dump不僅可以打印數組、標量變量,還可以打印對象的內容;
var_dump語句不僅能打印變量、數組內容,還可以顯示布爾變量和資源(resource)的內容;
var_export 函數返回關於傳遞給該函數的變量的結構信息,和 var_dump()函數類似,不同的是其返回的內容是合法的php代碼。
以上就是本文給大家匯總介紹的php中所有的打印輸出函數,希望小伙伴們能夠喜歡