回傳可執行的 PHP 代碼字串(第二參數 true 時),但 resource 型別會回傳 NULL,因為資源無法序列化為程式碼。
$res = fopen('test.txt', 'r');
var_dump($res); // resource(3) of type (stream)
var_export($res); // NULL
class ConfigCache {
private $filePath;
public function __construct($path) {
$this->filePath = $path;
}
// 寫入快取:var_export 產生可 include 的 PHP 檔案
public function save(array $data) {
$code = '<?php return ' . var_export($data, true) . ';?>';
file_put_contents($this->filePath, $code);
}
// 讀取快取
public function load() {
if (file_exists($this->filePath)) {
return include $this->filePath;
}
return [];
}
}
// 使用範例
$cache = new ConfigCache(__DIR__ . '/config_cache.php');
$cache->save(['app_id' => 123, 'secret' => 'abc']);
$config = $cache->load();
配合 <pre> 標籤輸出易讀格式;或用輸出控制函數捕獲內容:
ob_start();
var_dump($complexData);
$debugInfo = ob_get_clean();
// 寫入日誌或顯示於頁面
echo '<pre>' . htmlspecialchars($debugInfo) . '</pre>';
| 特性 | var_dump | print_r |
|---|---|---|
| 顯示型別 | 是 | 否 |
| 顯示長度/大小 | 是 | 部分 |
| 支援多參數 | 是 | 否 |
| 輸出可作為程式碼 | 否 | 否 |
除錯用 var_dump,資料匯出/快取用 var_export,兩者互補,善用能大幅提升開發效率。