Home  >  Article  >  Backend Development  >  想问大家一个phpcms梨奇怪的问题

想问大家一个phpcms梨奇怪的问题

WBOY
WBOYOriginal
2016-06-23 14:02:56735browse

以下代码是我从phpcms的libs\function\global.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);}

这个方法是用来从缓存里获取数据数组,然后用指定的链接符号进行链接的方法,相信用过phpcms的同志们应该见到过。这个方法会递归3次,我这里出现了一个奇怪的问题,就是当
$menu_arr[$menuid][$parentkey]的值等于0的时候,menu_level方法的递归便不再进行了。
本地没有问题,服务器上就会出这个问题。
有人碰到过这个问题吗?


回复讨论(解决方案)

只有当 $menu_arr[$menuid] 存在时,递归才会进行下去
至于 $menu_arr[$menuid] 是否存在,则取决于你的缓存文件

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn