【PHP面試題】打印處理及各自的區別(echo,print_r,var_dump,print 等)

一、打印處理

print();     // 輸出字符串
printf();    // 輸出格式化字符串
print_r();   // 以易於理解的格式打印變量
echo;        
sprintf();   // 返回格式化字符串
var_dump();  // 打印變量的相關信息
var_export();// 輸出或返回一個變量的字符串表示

二、區別

1、print 和 echo 的區別
  • printecho 都是語言結構;
  • print 在打印的時候,只能打印一個變量,而 echo 可以打印多個變量,如果同時打印多個,中間用逗號隔開,效率更高【推薦使用】
2、printf() 和 sprintf() 的區別
  • printf() 可以根據格式進行輸出,會直接輸出到緩存區;
  • sprintf() 會返回,不會輸出。
3、print_r() 和 var_dump() 的區別
  • print_r() 會將數組/對象進行格式化好,並打印出來【幫助我們進行排查一些錯誤或結果】;
  • var_dump()也有 print_r() 的功能,且 var_dump() 還會將每一個的類型顯示出來。

根本區別

如:打印 FALSEprint_r() 什麼都不會有,只相當於是 echo 了一個 FALSE,什麼都沒有print_r() 如果打印一個 TRUE,結果不是 true 而是 1,因此在一些結果的判斷中,會有一些誤差,則【推薦使用 var_dump()】。

4、var_export 與 var_dump() 的區別

  • var_export() 是將內容(如將一個數組)進行格式化並輸出,當然也可以給後面的參數一個 true,這樣會變成返回;
  • 對於 var_export()來說,它返回的值 符合PHP的語法結構(如可以把它打印出來的一個字符串,作爲PHP的語法結構來使用),而 var_dump()不可以,var_dump()只是幫我們進行 debug,來查看一下 我們的錯誤信息 或者是 結果信息。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章