Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取PHP中嵌套函数的数量_Php - Fatal编程技术网

获取PHP中嵌套函数的数量

获取PHP中嵌套函数的数量,php,Php,如何获取函数在PHP中嵌套的次数 例如 您可以这样递归: function infinite($depth = 1) { infinite($depth + 1); } infinite(); 然后,$depth包含函数中的当前递归级别 您也可以摆弄,但这不是很有效,所以您不应该在递归的每个步骤中执行它 $depth = count(debug_backtrace()); 这将告诉您调用堆栈的长度。但不一定是该特定函数被调用的次数。Juts会过滤数组中的function=>'infin

如何获取函数在PHP中嵌套的次数

例如


您可以这样递归:

function infinite($depth = 1) {
  infinite($depth + 1);
}

infinite();
然后,
$depth
包含函数中的当前递归级别

您也可以摆弄,但这不是很有效,所以您不应该在递归的每个步骤中执行它

$depth = count(debug_backtrace());

这将告诉您调用堆栈的长度。

但不一定是该特定函数被调用的次数。Juts会过滤数组中的
function=>'infinite'
或其他内容。我建议为
$depth
提供默认值
1
,这样您就可以无参数调用它:
function infinite($depth=1){…}
@meagar:这绝对正确。我没有首先添加这个的原因是我不确定PHP是否真的支持默认参数(而且懒得去查找)。谢谢。
$depth = count(debug_backtrace());