我需要知道一个递归函数在函数中被调用了多少次。这是我的函数:
function structure($x) {
$qry = mysql_query("SELECT `parent_id` FROM `categories` WHERE `categories_id`=$x");
$result = mysql_fetch_assoc($qry);
$cat = $result['parent_id'];
if($cat !=0) {
structure($cat);
}
echo $cat.' >';
}我尝试添加一个计数器,例如$i=0,然后添加$i++,但每次调用函数时,它当然会恢复到$i=0。我已经尝试添加数组并对数组进行计数,但当然,每次调用该函数时,它都必须设置一个新的数组$i=array()。
我认为唯一可行的方法是,如果我在函数外部设置数组或计数器,但我不知道是否可以在函数外部调用变量。
关于如何在函数外调用变量,或者更好地计算函数被调用的次数,你有什么想法吗?
发布于 2013-06-13 16:38:04
您有许多选择。
最简单的是:
不太明显和更复杂的解决方案可能包括使用Registry和/或Singleton模式。
https://stackoverflow.com/questions/17082608
复制相似问题