更新时间:2023-01-31 12:36:39
要解决你的问题,你需要正确地理解如何的变量引用/别名在PHP 工作。
To solve your problem you need to properly understand how variable referencing/aliasing in PHP works.
请看下面的例子code,它不看你要多大不同,但利用引用才能访问,即使它已经搬任何父母:
Look at the following example code, which does not look much different to yours but makes use of references in order to access any parent even it has already "moved":
# transform $flat into a tree:
foreach($flat as $id => &$value)
{
# check if there is a parent
if ($parentId = $value['parent'])
{
$flat[$parentId][0][$id] =& $value; # add child to parent
unset($flat[$id]); # remove reference from topmost level
}
}
unset($value); # remove iterator reference
print_r($flat); # your tree
$平
现在包含 $平
所有值 - 但重新排序。 演示。
$flat
now contains all values from $flat
- but reordered. Demo.