1. 程式人生 > >PHP之如何將陣列變數寫入檔案?

PHP之如何將陣列變數寫入檔案?

在用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);