Написал функцию создания древовидного меню. После чего нужно было узнавать уровень вложенности написал функцию которая возвращает кол-во вложенностей. Теперь нужно чтобы она возвращала не только кол-во вложенностей, но и массив такого типа: array( 'count' => n, 'level_ids' => array(1,2,3...)).
Дело в том что при рекурсии все данные нельзя упаковать в массив (он получается вложенным).
То есть заместо: array( 'count' => n, 'level_ids' => array(1,2,3...)) я получу: array( 'count' => n, 'level_ids' => array( array(1 => array(2=> array(3)))) Нашел вариант как использовать двойную функцию и получать сначала строку вот такого типа 1,2,3 а потом превращать в массив с помощью explode. Но... Хотелось бы отказаться от лишних функций.
27cm: я его чисто физически не смогу достать так как много замков-цепочек. функция цепляется в функцию. Да и зачем код, то? Мне алгоритм нужен, а не готовый скрипт. Двойная функция то есть вспомогательная функция. Которая фильтрует уже результат первой функции.
Outoverlay: Значит приведите пример простой функции, в которой будет понятна суть вопроса: что она возвращает, а что хотите получить. По вашему описанию сложно что либо советовать, просто не видно в чём проблема.