gpt4 book ai didi

php - & 在 PHP 中不是指地址吗?那么如何将父指针存储在树节点中?

转载 作者:行者123 更新时间:2023-12-02 05:27:44 27 4
gpt4 key购买 nike

当我向树中添加一个节点时,我将其父地址(我认为是)存储在其中:

-- 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 时,它会因“可捕获的 fatal error :类 Node 的对象无法转换为字符串...”而失败,我使用 & cos i不想将父对象存储在其子对象中,但似乎行不通,知道吗?

最佳答案

由于您收到的错误消息是“可捕获的 fatal error ”,这表明您使用的是 PHP5,而不是 PHP4。从 PHP5 开始,对象总是通过引用传递,因此您不需要使用“&”。

顺便问一下:你的问题是什么?它似乎工作正常,你得到的错误是由于你的类无法转换为字符串,所以你不能将它与 echo 一起使用。尝试实现神奇的 __toString() 方法,以便在 echo 时显示有用的内容。

关于php - & 在 PHP 中不是指地址吗?那么如何将父指针存储在树节点中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1310397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com