快速對比
| 特性 | print_r() | var_dump() |
| 輸出格式 | 易讀的鍵值結構 | 含型別、長度、結構 |
| 多變數支援 | 單一變數 | 可同時輸出多個 |
| 型別資訊 | 無 | 完整(int、string、array 等) |
| 回傳值 | TRUE / 字串(第二參數) | 無(直接輸出) |
print_r() 範例
$arr = [18, 20, 25];
print_r($arr);
// 輸出:
// Array ( [0] => 18 [1] => 20 [2] => 25 )
// 檢視網頁原始碼可見更美觀縮排
var_dump() 範例
$arr = [18, 20, 25];
var_dump($arr);
// 輸出:
// array(3) { [0]=> int(18) [1]=> int(20) [2]=> int(25) }
進階技巧
print_r 回傳字串而非輸出
$str = print_r($arr, true); // 第二參數 true 回傳字串
error_log($str); // 寫入日誌
var_dump 多變數一次輸出
$a = 1; $b = "test"; $c = [1,2];
var_dump($a, $b, $c);
最佳實踐建議
- 快速查看結構 →
print_r()
- 需知型別、長度、null/false 差異 →
var_dump()
- 生產環境請移除或包裝在除錯模式判斷中
- 現代專案建議使用 XDebug + IDE 斷點除錯,更高效