есть массив res1s с вложенными элементами меню —
res1s
id=1 parent=0
id=2 parent=1
id=3 parent=2
id=4 parent=3
...
id=5 parent=0
id=6 parent=5
на входе для фильтрации цикл получает конкретный ID ($ID ), напр.
$ID = 1
$values = array();
foreach ($res1s as $res1) {
if ($res1->parent == $ID) {
$values[] = $res1->id;
foreach ($res1s as $res2) {
if ($res2->parent == $res1->id) {
$values[] = $res2->id;
}
}
}
}
задача — получить всех потомков $ID на всех уровнях вложенности
в вышеприведённом примере потомки определяются только на два уровня ниже
т.к глубина вложенности неизвестна, нужно как-то написать функцию на вход которой подавать массив res1s + $ID так чтобы функция делала обход покуда находятся подходящие записи в массиве
в данном случае, при
$ID = 1
в $values должно получится array(2, 3, 4)
спасибо!