[PHP]初めてのfizzbuzzワンライナーにコメント今日、『パーフェクトPHP』を読んでいたところ、range()、array_map()そして無名関数と、fizzbuzzをやるのにぴったりな関数がバシバシ出てきました。いうことで、書いてみました、fizzbuzzワンライナー。array_map(function($n){echo$n%15==0?'fizzbuzz':($n%5==0?'buzz':($n%3==0?'fizz':$n));},range(1,100));↑の行がそれです(折り返してるかもしれませんが、改行はありません)。スクリプト言語の実行結果をブラウザー上で確認できるllevalで、言語をphpにしたあと、上のスクリプトを貼り付けて「eval」すれば、fizzbuzzの結果が確認できます。手元にPHPの実行環境があるなら、そちらでもOK。このスクリプト、出力は以下のスクリプトと同様です。}}これを、1行でやるにはどうするか。range()は配列を生成する関数で、例えばrange(1,3)とすると、1から3までの数字を要素にもつ配列を返します。array_map()は受け取った配列に対して指定された関数を実行する関数。無名関数は、名前をつける必要がなく、その場で実行できるユーザー定義関数。これらを組み合わせることで、1行でfizzbuzzを実現しています。出来るだけ短くするため、3項演算子をネストして用いたり(可読性が落ちる)、開始タグを省略形にしたり(移植性が落ちる)、比較演算子に===ではなく==を用いていたり(予期せぬ型変換で事故る可能性がある)と、あまり褒められないコーディングスタイルだったりもします。仕事で書くぶんには、後ろのfizzbuzzの方が無難でしょう。WordPress.。