PHP関数で現在の再帰レベルを取得するにはどうすればよいですか?
つまり、次のような「魔法の」(または最終的には通常の)機能はありますか?
function doSomething($things) {
if (is_array($things)) {
foreach ($things as $thing) {
doSomething($thing);
}
} else {
// This is what I want:
echo current_recursion_level();
}
}
別の関数引数を使用できることはわかっています ($level
この例では):
function doSomething($things, $level = 0) {
if (is_array($things)) {
foreach ($things as $thing) {
$level++;
doSomething($thing, $level);
}
} else {
echo $level;
}
}
しかし、それを行うための組み込み関数 (またはトリック) があるかどうかを知りたいです。多分何かdebug_backtrace()
、しかしそれは単純または迅速な解決策ではないようです。
この情報は見つかりませんでした。たぶんそれは単に存在しない...