開發除錯或記錄日誌時,常需將變數內容完整寫入檔案。單純迴圈輸出不僅繁瑣,面對多維陣列更顯無力。PHP 內建 var_export() 與 print_r() 皆支援第二參數 true 以「回傳」而非「直接輸出」字串,極適合此場景。
$fp = fopen('./debug.log', 'a+b');
fwrite($fp, var_export($content, true)); // 第二參數 true 表示回傳字串
fclose($fp);
優點:輸出格式為合法 PHP 代碼,可直接 include 或 eval() 還原結構;對巢狀結構表達精確。
$fp = fopen('./debug.log', 'a+b');
fwrite($fp, print_r($content, true)); // 同樣需 true 取得回傳值
fclose($fp);
優點:輸出格式更接近人類閱讀習慣,適合快速肉眼檢查。
true,否則會直接輸出到標準輸出而非回傳字串。json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE),效能更佳且跨語言通用。fwrite($fp, date('c') . " [{$requestId}]\n" . var_export($data, true) . "\n---\n");