Moin,
erhalte aus Drupal eine Menüstruktur als verschachteltes Array.
Es soll ein Submenü zurückgegeben werden, also die Kinder eines bestimmten Eltern Menüpunktes, z.b. das Array 'children' des Menüpunktes 510
Array:
Rekursive Funktion:
Aufruf:
Es sollen die gesamten Kinder zurückgegeben werden ob empty oder nicht, also in dem Fall
Aber die rekursive Funktion ist fehlerhaft, teilweise wird FALSE zurückgegeben, teilweise die gewünschten children.
Sehe den Fehler nicht.
Danke!
erhalte aus Drupal eine Menüstruktur als verschachteltes Array.
Es soll ein Submenü zurückgegeben werden, also die Kinder eines bestimmten Eltern Menüpunktes, z.b. das Array 'children' des Menüpunktes 510
Array:
Code:
Array (
[Home] => Array (
[link] => Array (
[id] => 440
)
[children] => Array (
[News] => Array (
[link] => Array (
[id] => 507
)
[children] => Array (
)
[Submissions] => Array (
[link] => Array (
[id] => 510
)
[children] => Array (
[Sub 01-23-13] => Array (
[link] => Array (
[id] => 566
)
[children] => Array (
)
)
)
)
)
)
[Map] => Array (
[link] => Array (
[id] => 509
)
[children] => Array (
)
)
)
Rekursive Funktion:
PHP:
function get_parent_child($aMenu,$iParent) {
foreach($aMenu as $aItem) {
if($aItem['link']['id'] == $iParent)
return $aItem['children'];
elseif(isset($aItem['children']) && is_array($aItem['children']) && !empty($aItem['children']))
get_parent_child($aItem['children'],$iParent);
}
return false;
}
Aufruf:
PHP:
$aChildren = get_parent_child($aMenu,510);
Es sollen die gesamten Kinder zurückgegeben werden ob empty oder nicht, also in dem Fall
Code:
[children] => Array (
[Sub 01-23-13] => Array (
[link] => Array (
[id] => 566
)
[children] => Array (
)
)
)
Aber die rekursive Funktion ist fehlerhaft, teilweise wird FALSE zurückgegeben, teilweise die gewünschten children.
Sehe den Fehler nicht.
Danke!