次のコードは、phpcms の libsfunctionglobal.func.php ファイルからコピーされました。
function menu_level($menuid, $cache_file, $cache_path = 'commons', $key = 'catname', $parentkey = 'parentid', $linkstring = ' > ', $result=array()) { $menu_arr = getcache($cache_file, $cache_path); if (array_key_exists($menuid, $menu_arr)) { $result[] = $menu_arr[$menuid][$key]; return menu_level($menu_arr[$menuid][$parentkey], $cache_file, $cache_path, $key, $parentkey, $linkstring, $result); } krsort($result); return implode($linkstring, $result);}
$menu_arr[$menuid] が存在する場合のみ再帰が進行します
$menu_arr[$menuid] が存在するかどうかはキャッシュファイルに依存します