【发布时间】:2011-11-08 01:48:02
【问题描述】:
在处理某些 PHP 对象时,可以执行 var_dump() 并且 PHP 会不断地在屏幕上打印值,直到达到我假设的 PHP 内存限制。一个例子是转储一个简单的 HTML DOM 对象。我假设因为您能够遍历对象的子对象和父对象,所以执行var_dump() 会产生无限的结果,因为它会找到对象的父对象,然后递归地找到它的子对象,然后找到所有这些子对象的父对象并找到那些子对象,等等等等等等。它会一直持续下去。
我的问题是,如何避免这种情况并防止 PHP 以递归方式反复转储相同的内容?使用简单的 HTML DOM 解析器示例,如果我有一个没有子对象的 DOM 对象并且我 var_dump() 它,我希望它只是转储对象而不开始遍历 DOM 树并转储父母、祖父母和其他儿童等。
【问题讨论】: