2010-04-21 22 views
2

var_export當參數具有循環引用時,函數會導致異常。除了serialize之外,有沒有其他方法可以正確處理?var_export的替代方案

回答

2

您是否在尋找 var_dump甚至 debug_backtrace

更新:

Converting object to string

+0

我想將對象轉換爲字符串。 var_dump輸出它,我不需要這個 – darja 2010-04-21 12:40:54

+0

@darja:我知道的唯一的另一種方式是序列化它(儘管你說除了它)。看到我更新的答案。 – Sarfraz 2010-04-21 12:46:00

+0

感謝您的鏈接。這聽起來是我有兩個變種 - 序列化(我不想)和json_encode。 – darja 2010-04-21 13:50:19

2

你可以試試這個:

ob_start(); 
var_dump($var); 
$dump = ob_get_contents(); 
ob_end_clean(); 

爲什麼你不能使用序列化?

+0

我需要這樣的日誌轉換。對於日誌,序列化輸出太難看了。 – darja 2010-04-21 13:16:59

0

這爲我工作:

$backtrace = array_slice(debug_backtrace(0), 0, 6); 

$export = var_export($backtrace, TRUE); 

您可能需要使其削減了循環引用來調整片量。我在嘗試在運行PHPUnit測試時對異常執行var_export()時遇到此問題。