当我向树添加节点时,我将其父地址(我想是这样)存储在其中:
-- Client --
$parent = new Node();
$child = new Node();
$parent->add($child)
-- Class Node --
function add($child) {
$this->setParent(&$this);
$this->children[] = $child;
}
function setParent($ref_parent) {
$this->ref_parent = $ref_parent;
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试回显$ child-> ref_parent时,它失败了"可捕获的致命错误:类Node的对象无法转换为字符串...",我使用&cos我不想将父对象存储在其中孩子,但似乎不工作,任何想法?
由于您收到的错误消息是"可捕获的致命错误",它表示您使用的是PHP5,而不是PHP4.从PHP5开始,对象总是通过引用传递,因此您不需要使用"&".
顺便问一下:你的问题是什么?它似乎工作正常,你得到的错误是由于你的类无法转换为字符串,所以你不能将它与echo一起使用.尝试实现魔术__toString()方法,以便在显示时显示一些有用的东西echo.