別のアイテムを指すアイテムを並べ替えて、それが指すアイテムの下にネストしようとしています。各アイテムは親への参照を持つことができます。親の下にネストする場合は、通常どおりインデックスを再作成します。
foreach($list as $item) {
if($item->parent != null) {
$newlist[$list->parent] = $item;
}
else {
$newlist[$item->id] = $item;
}
}
equals 演算子を使用すると、配列に追加するのではなく、アイテムを上書きします。理想的には、$newlist[$item->parent] を新しいアイテムの配列に変換する必要があります。