Я использовал функцию, которую я создал, когда впервые начал программировать (или, по крайней мере, вскоре после этого), чтобы выполнить простую, но чрезвычайно полезную задачу по организации массива, основанного на родителях и детях. Примером того, где это было бы полезно, скажем, если бы у вас был список элементов, которые могут иметь бесконечную глубину дочерних элементов в базе данных, и вам нужно представить список по порядку в элементе выбора HTML с визуальным представление (-) глубины для каждого ребенка.
Теперь у меня есть функция (ы), которая делает это, и они работают во всех ситуациях, в которые я их поместил, однако они клонируют массив бесчисленное количество раз ... Пока что это не было проблемой , но я начинаю использовать эту функцию в местах, где могут быть организованы десятки тысяч записей. Поэтому я надеюсь, что кто-то здесь может помочь мне оптимизировать его.
Код: http://pastebin.com/knk0Fyd0