Skip to content

Instantly share code, notes, and snippets.

@bateller
Last active May 29, 2024 14:57
Show Gist options
  • Save bateller/3613f93542dde6fa222a26ba94d67746 to your computer and use it in GitHub Desktop.
Save bateller/3613f93542dde6fa222a26ba94d67746 to your computer and use it in GitHub Desktop.
FizzBuzz solution in PHP
<?php
if (php_sapi_name() === 'cli') $lb = "\n";
else $lb = "<br />";
for ($i = 1; $i <= 100; $i++)
{
if ($i % 15 === 0) {
echo "FizzBuzz $lb";
}
else if($i % 3 == 0){
echo "Fizz $lb";
}
else if($i % 5 == 0){
echo "Buzz $lb";
}
else {
echo $i." $lb";
}
}
@maduranma
Copy link

maduranma commented Mar 11, 2022

What about:

<?php
for($i = 1; $i <= 100; $i++)
    echo  ($i % 3 === 0 ? 'Fizz' : '') .
          ($i % 5 === 0 ? 'Buzz' : '')
          ?: $i, PHP_EOL;

@tafadzwamunyuki
Copy link

Here is a very easy to understand way to solve FizzBuzz in PHP:

"); }else // Print Buzz if($x % 5 == 0){ echo("Buzz
"); // Print number value }elseif ($x != "Fizz" && $x != "Buzz") { echo("$x
"); } } ?>

@pfrenssen
Copy link

Had a go with an arrow function, nice and short :)

print(implode("\n",array_map(fn($i)=>(!($i%3)?'Fizz':'').(!($i%5)?'Buzz':'')?:$i,range(1,100))));

@maduranma
Copy link

This is the shortest I could get without throwing errors. You could replace \n by literally and enter, but it'd be no longer a one liner.

for(;@$i++<100;)echo@(['Fizz'][$i%3].['Buzz'][$i%5]?:$i),"\n";

@maiorano84
Copy link

maiorano84 commented Nov 10, 2023

Here's the shortest I could get without throwing errors OR error silencing:

for($i=0;$i++<100;)echo($i%3?'':'Fizz').($i%5?'':'Buzz')?:$i,"\n";

@mastan0203
Copy link

mastan0203 commented May 29, 2024

$n = 15;

for ($i = 1; $i <= $n; $i++)
{
if ($i % 15 === 0) {
echo "FizzBuzz
";
}
else if($i % 3 == 0){
echo "Fizz
";
}
else if($i % 5 == 0){
echo "Buzz
";
}
else {
echo $i."
";
}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment