dom1n1k, согласен на все 1000%. Одна голова хорошо, а две - лучше!
Откуда брал код, делали (как я понял) для одной строки в заголовке item...
Я подправил, и вот как вышло.
PS: могу дать исходник, если интересно...
dom1n1k, Честно? Да...
Я даже и не ожидал, но подсознание - реально фиксирует гармонию...
Но пока - надо "качаться".
Там очень много приёмов как правильно юзать под разные элементы.. (я учусь пока сам...)
GavriKos, а кто отменял проверку по "веткам дерева" через in_array() ?
А нужно всунуть новую команду - array_push() с нужным индексом.
И входящая очередь - тоже массив.
switch() внутри цикла while-do: пока очередь не пуста - крутим и опустошаем через array_pop().
Закончили обработку всей очереди - вышли из цикла.
Откуда брал код, делали (как я понял) для одной строки в заголовке item...
Я подправил, и вот как вышло.
PS: могу дать исходник, если интересно...