Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Алгоритм разбора массива для вложенного меню


Автор: ukrainer 28.6.2009, 18:36
Доброго времени суток, форумчане!

Возникла необходимость написание рекурсивной функции для создания вложенного массива.

есть массив индекс( id ) => параметр (id родителя) 

Код


  ["MATERIALS"] => NULL
  ["TOOLS"] => NULL
  ["SERVICE"] => NULL
  ["FURNITURE"] => NULL
  ["WEAR"] => NULL
  ["MAT_OTD"] => "MATERIALS"
  ["MAT_STROIT"] =>  "TOOLS"
  ["ELECTRICA"] => NULL
  ["Mat_NOSTROY"] => "MATERIALS"



На выходе функции необходимо получить что-то вроде этого :

Код


  ["MATERIALS"] => array(2) {
    ["MAT_OTD"] => string(9) "MATERIALS"
    ["Mat_NOSTROY"] => string(9) "MATERIALS"
  }
  ["TOOLS"] => array(1) {
    ["MAT_STROIT"] => string(5) "TOOLS"
  }
  ["SERVICE"] => NULL
  ["FURNITURE"] => NULL
  ["WEAR"] => NULL
  ["ELECTRICA"] => NULL





Массив может иметь сколько угодно вложений

Я написал функцию, которая может работать только с фиксированной вложенностью,
попытался сделать рекурсивную универсальную функцию, но никак не могу добиться желаемого результата  smile 

Может кто сталкивался с подобной задачей?

Автор: Sentox 28.6.2009, 21:14
Сбросьте код пожалуйста.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)