неизменный и просто добавить элементы без родителей в новый массив, а затем вернуть этот массив.

я есть такой список:

array(
  array(id=>100, parentid=>0, name=>'a'),
  array(id=>101, parentid=>100, name=>'a'),
  array(id=>102, parentid=>101, name=>'a'),
  array(id=>103, parentid=>101, name=>'a'),
)

но намного больше, поэтому мне нужен эффективный способ превратить это в древовидную структуру, подобную этой:

array(
  id=>100, parentid=>0, name=>'a', children=>array(
    id=>101, parentid=>100, name=>'a', children=>array(
      id=>102, parentid=>101, name=>'a',
      id=>103, parentid=>101, name=>'a',
    )
  )
)

я не могу использовать такие вещи, как вложенные множества или подобные вещи, потому что я могу добавлять левые и правые значения в мою базу данных. есть идеи?

Ответы на вопрос(8)

Ваш ответ на вопрос