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