Структура массива:
$arr = [
[
"ID" => 1,
"DATA" => [...]
"NAME" => "...",
"SUB" => [
[
"ID" => 2,
"DATA" => [...]
"NAME" => "...",
"SUB" => [
...
],
"ID" => 3,
"DATA" => [...]
"NAME" => "..."
]
]
],
[
"ID" => 10,
"DATA" => [...]
"NAME" => "...",
"SUB" => [
...
]
]
];
Т.е. корневые элементы массива - некие сущности, которые имеют свойства:
ID, DATA, NAME, также свойство
SUB в котором дочерние элементы, такого же формата.
Задача: должна быть функция, которая на вход принимает произвольный массив подобного формата и код свойства.
Например:
$result = getProperties($arr, "NAME");
// результат = массив из всех свойств NAME
$result = getProperties($arr, "DATA");
// результат = массив из всех свойств DATA
Варианты решения:
1. рекурсия
2. итеративный алгоритм
3. ? может как-то через array_map или array_walk_recirsive и т.д. ?