🐘

PHP Onelinerでお洒落なおみくじを作成する

2024/01/13に公開

What's this?

「スポンサーのブースのおみくじ作らないとな」
「ChatGPTで作ろう」
「あ、Code Interpreter無いやつか、それだと出力がランダムにならないかもな」
「うーん、じゃあCLIで雑に出力してみるか」

Image

  • PHP Conference Hokkaidoの会場にいたので折角だからと, PHPで作成

Code

install Dependencies

  • brewなりなんなりでphpとfigletとlolcatをinstallする
brew install php figlet lolcat

Code

  • phpでおみくじの結果を作成
  • rand_intのminとmaxを利用してあたりの確率を調整する
  • figletでASCII Artにしてlolcatで虹色にする
php -r "echo random_int(min: 1, max: 10) >= 7 ? 'Oh Sorry ...'.PHP_EOL : 'You Won!'.PHP_EOL;" | figlet | lolcat

PHPのプログラムについて

PHPには三項演算子が存在していて下記のような文法がサポートされています.

$num = 100

// insert "num is greater than 10" into $res if $num > 10
// otherwise, insert into "num is equal to 10 or less than 10"
$res = $num > 10 ? "num is greater than 10" : "num is equal to 10 or less than 10";

参照: PHP: 比較演算子 三項演算子

この式評価にrand_int関数を用いることでおみくじを作成することができます. その結果をechoで表示しています.

Discussion