PHP之如何將陣列變數寫入檔案?
阿新 • • 發佈:2019-02-20
在用PHP記錄日誌,或者是 Ajax 請求出錯想要 debug 的時候。我們一般都會將資訊寫入到一個指定的檔案
當中。然後根據相應的資訊來處理問題。
比如筆者最喜歡在用 Ajax 取不到資料的時候,在PHP腳本里面加上下面一段程式碼
$fp = fopen('./a.txt','a+b');
fwrite($fp, $content);
fclose($fp);
但是,這裡有一個問題。那就是 $content 是一個數組怎麼辦?
你可能會說,我迴圈輸出。那要是多維陣列呢?
我只是為了 debug 用得著搞得那麼累嗎。
這裡你可以使用 var_export() .
此函式返回關於傳遞給該函式的變數的結構資訊,它和 var_dump()
其返回的表示是合法的 PHP 程式碼。
可以通過將函式的第二個引數設定為 TRUE,從而返回變數的表示。
$fp = fopen('./a.txt','a+b');
fwrite($fp, var_export($content,true));
fclose($fp);
注意 var_export() 的第二個引數需要設定為 true 才表示取得返回值。要不然是直接輸出
另外,如果你的 $content 只是一個數組,而不包含其他的內容的話
你也可以用 print_r()
同樣的,print_r() 的第二個引數也要設定為 true
$fp = fopen('./a.txt' ,'a+b');
fwrite($fp, print_r($content,true));
fclose($fp);