調試時,如果我可以退出()並使用foreach打印數組中的單個元素,將會有所幫助。有任何想法嗎?PHP調試:將foreach和exit組合起來
1
A
回答
2
如果您想輕鬆打印數組或其他PHP值的內容,請使用var_dump
。調用exit()
垂直於這一點,我認爲這是很清楚的寫:
var_dump($arr);
exit(1);
另一種方法是登錄你的輸出,這可能會造成更多的有用的,如果你不想通過你的輸出HTML看過篩爲var_dump
輸出:
error_log(var_export($arr));
exit(1);
1
也許你可以做一個調試退出功能進行調試與print_r(打印變量的人類可讀的版本)
function dexit($array, $status = 0) {
print_r($array);
exit($status);
}
那麼,在你的代碼的任何地方,你可以只
dexit($array);
// or
dexit($array, 0);
,但它並不難,只是使用的print_r在線兩種方式:)
1
不聽起來像調試恕我直言,最理想的做法,
http://php.net/manual/en/function.register-shutdown-function.php
如:
但是這可以通過使用register_shutdown_function()來實現
1
試試這個,你有兩個選擇,調試或後續代碼var_dump
function debug_exit($array, $type = 1) {
if ($type == 1) { print_r($array); }
if ($type == 2) { var_dump($array); }
exit();
}
0
以下是我使用的是,x_r()
。跟蹤來自this example在PHP文檔。跟蹤的原因是,您/他人可以找到哪個/什麼x_r()
被調用通過。該exit()
是可選的,如果你需要看到主題下print_r()
一些原因:
// Exits with a print_r and call trace for debugging
if (!function_exists('x_r')) {
function x_r($obj, $exit = true, $return = true) {
// echo the obj first
echo '<pre style="background: #FFFFFF;">', print_r($obj, $return), '</pre>';
// include a debug call trace
$e = new Exception();
$trace = explode("\n", $e->getTraceAsString());
// reverse array to make steps line up chronologically
$trace = array_reverse($trace);
array_shift($trace); // remove {main}
array_pop($trace); // remove call to this method
$length = count($trace);
$result = array();
for ($i = 0; $i < $length; $i++) {
$result[] = ($i + 1) . ')' . substr($trace[$i], strpos($trace[$i], ' ')); // replace '#someNum' with '$i)', set the right ordering
}
// echo call trace
echo '<pre style="background: #FFFFFF;">', print_r($result, $return), '</pre>';
if ($exit === true) {
exit();
}
}
}
相關問題
- 1. 在PHP中將foreach和while結合起來
- 2. PHP將所有的值加起來foreach()
- 3. R將mapply和sapply組合起來
- 4. 如何將lambda和javascript forEach循環結合起來?
- 5. PHP:如何組合foreach和爆炸
- 6. ForEach PHP合併數組
- 7. php數組和foreach?
- 8. PHP數組變量混合起來
- 9. 用PHP將PHP和PHP包裝起來
- 10. c#exit generic ForEach使用lambda
- 11. 如何將圖像的HF和LF組件組合起來?
- 12. 將類似框組合起來
- 13. foreach看起來不像在php
- 14. PHP,Javascript和SQL代碼混合起來
- 15. 有沒有一種方法可以將.net上的foreach組合起來?
- 16. PHP Foreach數組和對象
- 17. PHP數組和foreach幫助
- 18. 調試foreach
- 19. foreach - > array - > json - 將它們組合在一起
- 20. 如何將PHP和CSS的條件與JavaScript結合起來
- 21. PHP/MySql將排序和分頁結合起來
- 22. 將html和flash結合起來
- 23. 將Get-Item和Get-ChildItem結合起來?
- 24. 如何將`var`和`const`結合起來?
- 25. 如何將homeUrl和createUrl結合起來?
- 26. 將Gui和Processing結合起來
- 27. 將Lucene的WildcardQuery和FuzzyQuery結合起來
- 28. 將EitherT和Future結合起來
- 29. JPQL將IN和LIKE結合起來
- 30. 如何將Catalyst和ngettext結合起來?
register_shutdown_function – dynamic 2011-02-26 01:14:51