3v4l.org

run code in 300+ PHP versions simultaneously
<?php const START = 1; const END = 100; /** * バックトレースの深さからインデックス相当の値を取得 * @return int */ function getI() { // debug_backtrace: バックトレースを配列で生成 // @see https://www.php.net/manual/ja/function.debug-backtrace.php // count: 配列の長さを取得 // @see https://www.php.net/manual/ja/function.count.php return count(debug_backtrace()) - 2 + START; } /** * 再帰で Fizz, Buzz を echo */ function echoFizzBuzz() { if (getI() % 15 === 0) { echo getI().': FizzBuzz'; } elseif (getI() % 3 === 0) { echo getI().': Fizz'; } elseif (getI() % 5 === 0) { echo getI().': Buzz'; } else { echo getI().': '.getI(); } echo "\n"; // 再帰で一次変数抜きにループを実現する // 再帰でバックトレースを深くしてインデックスを進める if (getI() < END) { echoFizzBuzz(); } } echoFizzBuzz();

preferences:
51.81 ms | 402 KiB | 5 Q