🐘
PHP Onelinerでお洒落なおみくじを作成する
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