之間的區別var_dump
,var_export
和print_r
之間的區別是什麼?var_dump,var_export&print_r
回答
var_dump用於調試目的。 var_dump
總是打印結果。
// var_dump(array('', false, 42, array('42')));
array(4) {
[0]=> string(0) ""
[1]=> bool(false)
[2]=> int(42)
[3]=> array(1) {[0]=>string(2) "42")}
}
print_r也用於調試目的,但不包括成員的類型。如果您知道數組中元素的類型,則使用它是一個好主意,但否則可能會產生誤導。 print_r
默認打印結果,但允許通過使用可選的$return
參數作爲字符串返回。
Array (
[0] =>
[1] =>
[2] => 42
[3] => Array ([0] => 42)
)
var_export打印有效的php代碼。如果您計算了一些值並希望結果在另一個腳本中保持不變,那麼它很有用。請注意0不能處理參考週期/遞歸數組,而var_dump
和print_r
檢查這些。默認情況下,打印結果爲var_export
,但允許使用可選的$return
參數作爲字符串返回。
array (
0 => '',
2 => false,
2 => 42,
3 => array (0 => '42',),
)
就我個人而言,我認爲var_export
是簡潔和精確的最佳折衷。
請注意,'var_export',由於其本質,將會在遞歸數組上死於可怕的遞歸死亡。 'print_r'和'var_dump'(儘管對後者不太確定,因爲我通常不使用它)沒有這個問題。所以不要'var_export($ _ GLOBALS);',例如(其中包含它自己)。 :) – pinkgothic
這個評論是重要的閱讀,應該真的被添加到答案 – ftrotter
@ftrotter我一直認爲評論會解釋好奇心好,但你去了,添加了一個簡短的說明答案。 – phihag
var_dump
和var_export
涉及這樣的(從manual)
var_export()被構造關於給定變量 信息。 它與var_dump()類似,但有一個 異常:返回的表示 是有效的PHP代碼。
它們不同於print_r
var_dump
導出更多信息,如數據類型和元素的大小。
- 1. php var_dump()vs print_r()
- 2. php var_dump equivelant或print_r
- 3. var_dump,print_r產生'內容編碼錯誤'
- 4. 難以理解對象的print_r/var_dump
- 5. Var_dump()顯示String,echo()/ print_r()返回Nothing
- 6. 函數來創建可摺疊的print_r()var_dump()?
- 7. no var_dump或print_r無法在網頁中回顯
- 8. php var_dump($ object)或print_r($ object)到日誌文件
- 9. 從print_r或var_dump隱藏特定的類字段
- 10. PHP var_export - elgg_get_entities
- 11. var_export字符串
- 12. 不是var_dump()和print_r()會顯示可讀信息....但輸出相同。爲什麼?
- 13. var_export的替代方案
- 14. {$ foo | @print_r}在屏幕上打印'{$ foo | @print_r}'
- 15. 像的print_r()
- 16. Print_r()和at(@)
- 17. print_r SQL語句
- 18. 的var_dump串
- 19. PHP var_dump($ _ SESSION);
- 20. Var_dump does not work
- 21. PHP var_dump數組
- 22. 「var_dump」函數
- 23. Var_dump輸出
- 24. var_dump和simpleXML?
- 25. Scala中的var_dump()
- 26. var_export美化器/可視化器
- 27. PHP:使用擴展類的var_export?
- 28. 如何覆蓋PHPUnit中的var_export?
- 29. 在PHP中是否有print_r或var_dump的等價物,默認情況下不會回顯結果?
- 30. 什麼是使用var_dump和print_r測試PHP代碼的有組織或標準化的方式?
有時候更容易讓別人更好地理解,然後閱讀手冊。 –
@你的常識S.O.答案通常比PHP手冊更清晰,更簡潔,可操作並且基本上總是更容易引用。 –