Quantcast
Channel: PHP8タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 521

新・FizzBuzz

$
0
0
新・FizzBuzz 自分の中で「これは新しいFizzBuzzだ!」と思っただけなので、感じ方に個人差はあると思います。なるほどなっと私は感じたのでこんな書き方もありますよということです。。。 PHP8から導入された「match式」を使ったFizzBuzzの書き方です。 matchは「値を返せるswitch式」のようなものです。 FizzBuzz.php function FizzBuzz (int $min, int $max) { foreach(range($min, $max) as $value){ $output = match(true){ $value % 15 === 0 => 'FizzBuzz', $value % 5 === 0 => 'Buzz', $value % 3 === 0 => 'Fizz', default => (string)$value }; echo $output . '<br>'; } } コードが短くて見やすく書けるのがいいですね。 引数に出力を開始する最小値(\$min)と、どこまで出力するのかの最大値(\$max)を受け取って、range関数でその範囲の数値を配列として作成して、foreachで回してmatchの制約式(true)に引っかかった出力を変数に代入して毎回echoしています。defaultでFizzBuzz以外の数値を文字列にキャストして代入しています。

Viewing all articles
Browse latest Browse all 521

Trending Articles