3v4l.org

run code in 300+ PHP versions simultaneously
<?php function couldBeDividedBy5($number) { $last_digit = substr($number, -1); return ($last_digit == '5' || $last_digit == '0'); } function couldBeDividedBy3($number) { if (strlen($number) > 1) { return couldBeDividedBy3(array_sum(str_split($number))); } else { return ($number == '3' || $number == '6' || $number == '9' || $number == '0'); } } function fizzbuzz($from, $to) { if ($from > $to) { return; } if (couldBeDividedBy5($from) || couldBeDividedBy3($from)) { if (couldBeDividedBy3($from)) { echo 'Fizz'; } if (couldBeDividedBy5($from)) { echo 'Buzz'; } } else echo $from; echo PHP_EOL; return fizzbuzz($from + 1, $to); } fizzbuzz(0, 20);

preferences:
16.64 ms | 406 KiB | 6 Q