我正在用 PHP 构建一个树形结构,我可以将其保留为数组,或者将其转换为对象树。我认为如果将其保留为数组,性能会更好,但我不确定。
在数组的情况下,拥有对象将具有对根元素的引用,仅此而已。根元素将包含子数组,而子数组又可能包含它们自己的子数组。
对于对象,我的映射器需要在加载时实例化它们,并且对于每个子对象,它们都是来自其父对象的引用。对于 300 个节点的树,这意味着 299 个引用,而使用数组时则为 1 个。
所以,在我看来,如果我使用数组而不是对象,性能会好得多。这个对吗?这很重要,因为在这种情况下牺牲对象的行为将是一个相当大的权衡。