首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 陣列寫入檔案的最佳實踐:var_export 與 print_r 進階用法

     編輯:PHP 綜合知識

開發除錯或記錄日誌時,常需將變數內容完整寫入檔案。單純迴圈輸出不僅繁瑣,面對多維陣列更顯無力。PHP 內建 var_export() 與 print_r() 皆支援第二參數 true 以「回傳」而非「直接輸出」字串,極適合此場景。

方案一:var_export() —— 產出合法 PHP 代碼

$fp = fopen('./debug.log', 'a+b');
fwrite($fp, var_export($content, true)); // 第二參數 true 表示回傳字串
fclose($fp);

優點:輸出格式為合法 PHP 代碼,可直接 include 或 eval() 還原結構;對巢狀結構表達精確。

方案二:print_r() —— 可讀性更強的結構化輸出

$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),效能更佳且跨語言通用。
  • 生產環境日誌建議加上時間戳與請求 ID,便於追蹤:fwrite($fp, date('c') . " [{$requestId}]\n" . var_export($data, true) . "\n---\n");
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved