【发布时间】:2009-08-21 07:03:45
【问题描述】:
当我向树中添加一个节点时,我会在其中存储它的父地址(我是这么认为的):
-- 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;
}
但是当我尝试 echo $child->ref_parent 时,它在“可捕获的致命错误:类节点的对象无法转换为字符串...”时失败,我使用 & cos i不想将父对象存储在其子对象中,但似乎不起作用,知道吗?
【问题讨论】:
-
需要更多的支持。我们都犯的范式转换错误的完美例子。
-
@e-satis:我不同意。实际上,这个问题是由于没有阅读手册并做出一些奇怪的假设 PHP 就像 C像 C++ 中的操作符,$this 也必须是一个指针。因此,&$this 将是 object** 类型。所以,我当然不会投票,因为我认为这不是一个特别好的问题。