PHP 中的最大递归深度
既然递归是一个函数调用自身的过程,我们就可以提出一个合理的问题,比如 "这个递归能有多深?" 让我们为此做一个小程序:
Unresolved include directive in modules/ROOT/pages/ch05/ch5-06.adoc - include::example$Chapter05/7.php[]
我们能猜出最大深度级别吗?在耗尽内存限制之前,深度达到了 917,056 级。如果启用了 XDebug,那么限制会比这少得多。这也取决于你的内存、操作系统和 PHP 设置,如内存限制和最大执行时间。
虽然我们可以选择深度递归,但始终要记住,我们必须控制递归函数。我们应该知道基本条件以及递归必须在哪里结束。否则,它可能会产生一些错误的结果或突然结束。