FizzBuzz

1〜10 までの数字を出力

lesson001.php


<?php
for ($i = 1; $i <= 10; $i++)
echo "$i\n";
?>
実行結果

C:\>php c:\study\php\chapter002\lesson001.php
1
2
3
4
5
6
7
8
9
10

1〜10 までの数字を出力

ただし、3の倍数は、"Fizz" を出力
lesson002.php


<?php
for ($i = 1; $i <= 10; $i++)
{
if ($i % 3 == 0)
echo "Fizz\n";
else
echo "$i\n";
}
?>
実行結果

C:\>php c:\study\php\chapter002\lesson002.php
1
2
Fizz
4
5
Fizz
7
8
Fizz
10

1〜30 までの数字を出力

ただし、3の倍数は、"Fizz" を、5の倍数は、"Buzz" を、
公倍数は、"FizzBuzz" を出力
lesson003.php


<?php
for ($i = 1; $i <= 30; $i++)
{
if ($i % 15 == 0)
echo "FizzBuzz\n";

else if ($i % 3 == 0)
echo "Fizz\n";

else if ($i % 5 == 0)
echo "Buzz\n";

else
echo "$i\n";
}
?>

実行結果

C:\>php c:\study\php\chapter002\lesson003.php
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz

1〜30 までの数字を出力

ただし、3の倍数は、"Fizz" を、5の倍数は、"Buzz" を、
公倍数は、"FizzBuzz" を出力
配列と関数を使用
lesson004.php


<?php
for ($i = 1; $i <= 30; $i++)
{
$array[$i-1] = $i;
}

foreach ($array as $i)
{
echo FizzBuzz($i), "\n";
}

function FizzBuzz($i)
{
if ($i % 15 == 0)
return "FizzBuzz";

else if ($i % 3 == 0)
return "Fizz";

else if ($i % 5 == 0)
return "Buzz";

else
return "$i";
}
?>

実行結果


C:\>php c:\study\php\chapter002\lesson004.php
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz

1〜30 までの数字を出力

ただし、3の倍数は、"Fizz" を、5の倍数は、"Buzz" を、
公倍数は、"FizzBuzz" を出力
map (array_walk) を使用
lesson005.php


<?php
for ($i = 1; $i <= 30; $i++)
{
$array[$i-1] = $i;
}

array_walk($array, "FizzBuzz");
array_walk($array, "puts");

function FizzBuzz(&$i)
{
if ($i % 15 == 0)
$i = "FizzBuzz";

else if ($i % 3 == 0)
$i = "Fizz";

else if ($i % 5 == 0)
$i = "Buzz";

else
$i = "$i";
}

function puts($i)
{
echo $i, "\n";
}
?>

実行結果


C:\>php c:\study\php\chapter002\lesson005.php
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz

1〜30 までの数字を出力

ただし、3の倍数は、"Fizz" を、5の倍数は、"Buzz" を、
公倍数は、"FizzBuzz" を出力
map を自作 (create_function を使用)
lesson006.php


<?php
for ($i = 1; $i <= 30; $i++)
{
$array[$i-1] = $i;
}

map(create_function('$i', 'echo FizzBuzz($i), "\n";'), $array);

function FizzBuzz($i)
{
if ($i % 15 == 0)
return "FizzBuzz";

else if ($i % 3 == 0)
return "Fizz";

else if ($i % 5 == 0)
return "Buzz";

else
return "$i";
}

function map($func, $array)
{
foreach ($array as $i)
{
$func($i);
}
}
?>

実行結果


C:\>php c:\study\php\chapter002\lesson006.php
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz