var_export() 將變數結構輸出為合法 PHP 代碼,可直接 eval() 或寫入設定檔,比 var_dump() 更適合快取、除錯輸出、程式碼生成。
mixed var_export(mixed $expression, bool $return = false)
$return = true:回傳字串而非直接輸出。array(...) 語法 (PHP 5.4+ 可用 [...] 短語法,但 var_export 維持相容)。| 特性 | var_export | var_dump |
|---|---|---|
| 輸出格式 | 合法 PHP 代碼 | 人類可讀除錯格式 |
| 可直接 eval | 是 | 否 |
| 資源型別 | 顯示 NULL | 顯示 resource id |
| 遞迴參考 | PHP 7.3+ 支援 | 支援 |
$languages = ['French','German','Russian','Chinese','Hindi','Quechua','Spanish','Hausa'];
echo var_export($languages, true);
// array ( 0 => 'French', 1 => 'German', ... ) $slice = array_slice($languages, 2, 4, true); // 保留鍵名
echo var_export($slice, true);
file_put_contents('config.php', 'include 載入比 unserialize 快 (OPcache 可緩存)。__set_state() 靜態方法才能正確還原。precision ini 設定影響。