【发布时间】:2020-09-04 06:01:52
【问题描述】:
假设我想要一个人员列表(人数是恒定的)。现在,想象一下每个人都必须与所有其他人成为朋友(这并不令人毛骨悚然,因为分配朋友的顺序很重要)。显然,朋友是人类,并且属于同一类型的对象。
我将类定义如下:
class Person
{
public $friends = [];
function new_freind($person)
{
// $person is passed as an object of the same type
$this->friends[] = $person;
}
}
结果,程序由于永远相互引用对象而陷入无限循环。
我想知道您是否可以分享您的想法以防止出现此问题。
我的想法是在 $friends 中存储某种键,而不是实际的对象。
【问题讨论】:
-
请提供一个简短的例子来说明问题所在。
-
@NigelRen 已更新。希望我能说清楚
-
给定的代码不会产生任何无限循环
-
@NicoHaase 当我尝试打印它们时,我只看到无限 RECURSION
标签: php object infinite-loop