Я хочу написать функцию, которая получит мне путь к верхнему элементу, но я не могу понять, как он должен работать.
Мои данные в качестве примера:
$data = array(
3546456 => array(
5345345,
12312312,
56456546,
),
12312312 => array(
34534534,
5675675,
8678678,
),
567978 => array(
234,
756756,
8678678,
),
);
//I have function to return parent.
$parents = getParents(8678678); // eg. $object_id = 8678678 - return [12312312, 567978] , $object_id = 12312312 - return [3546456]
// and my recursion function I tried.
function getObjectPath($object_id) {
if ($object_id == null) {
return [];
}
$parents = getObjectParents($object_id);
foreach ($parents as $parent) {
return array($object_id => getObjectPath($parent->nid));
}
}
Это нене работает так, как мне нужно, при возврате в getObjectPath (8678678) я хотел бы иметь возвращаемый массив следующим образом:
array(
3546456 => array(
12312312 => array(
8678678
)
),
567978 => array(
8678678
)
);