【番外編】ライトノベルで学ぶPHPプログラミング入門 【cal_days_in_monthの巻】
いつもと変わらない、平凡な12月の放課後、俺はノートPCでxvideosで検索、つまり市場リサーチをするため、モニターに向かう。
同じ部室にいるのは黒髪の美少女、愛華だ。愛華は親戚からもらった、何とかというお茶を急須から、魚へんの文字が大量に記入されたゴツい湯飲み茶わんへとゆっくりと注ぐ。
バーン、とドアが開き、開き方でもう誰だかわかるのだが、部の創設者、真琴が入ってきた。
「みんな元気?寒いからって縮こまっちゃだめよ。今月は楽しいクリト、いやクリスマス会があるんだから!」
「真琴さんは、寒くても暑くても元気ですね」
「わかってるわね、愛華。これが若さの特権ってやつよ」
「どうでもいいからドア閉めろ。寒いだろ」
「何を変温動物の爬虫類みたいなこと言ってんの、コウタ」
「いや、寒いものは寒いんだって」
「っていうか、コウタ、そして愛華も、あたしがミニスカサンタの格好してるのにいっさいツッコミが無いってのは一体どういうこと。このまぶしい太ももが目に入らないの?」
「そういうのは、あからさまにしちゃ趣きがな。というより、クリスマス会って何の話だ?」
「商店街の人たちを部室に呼んで、アンコウ鍋をつつきながらプレゼント交換会よ。電気屋のおじさんが最新式のドローンをプレゼントしてくれるって言うし」
もう勝手にしてくれ、だ。
「それにしても1年過ぎるのが早いですね。もうクリスマスなんて。カレンダーの残りの日付もわずかです」愛華が壁に掛けてある、商店街でもらったカレンダーを眺める。
「そうだな。そういえばカレンダー上の『月』って月ごとに違うよな。これってプログラムで割り出せるもんなのかな?」
「それなら簡単よ。PHPではこんな風に割り出しができるわ」
真琴が俺の横に来て、キーボードをカタカタと打つ。
<?php
echo '2016年2月は' . cal_days_in_month(CAL_GREGORIAN, 2, 2016) . '日' . PHP_EOL;
echo '2015年2月は' . cal_days_in_month(CAL_GREGORIAN, 2, 2015) . '日' . PHP_EOL;
echo '2014年2月は' . cal_days_in_month(CAL_GREGORIAN, 2, 2014) . '日' . PHP_EOL;
これをコマンドプロンプト上で実行すると次のようになる。
2016年2月は29日
2015年2月は28日
2014年2月は28日
そう、2016年2月は29日まであった。しかし、それより前の2年間は2月は28日だった。それがプログラムによって割り出すことができるようだ。
「第一引数のCAL_GREGORIANって何だ?大文字だし、定数に見えるが」
「これは『カレンダー情報』と考えたらいいわ。中身はint型の値だけど、次のような値を取りえるの」
0 あるいは CAL_GREGORIAN - グレゴリウス暦
1 あるいは CAL_JULIAN - ユリウス暦
2 あるいは CAL_JEWISH - ユダヤ暦
3 あるいは CAL_FRENCH - フランス革命暦
「つまりこのサンプルでは、グレゴリウス暦での2月に日数を表していて、2月がうるう年として扱われて29日になってるわけね。ちなみにレスリングのグレコローマンスタイルとは関係ないわ。レスリングと言えば、レスリングの組み合ってる動画にモザイクを入れるととんでもない映像になるのは周知の事実よ」
「なるほど、レスリングの話は置いといて、PHPはこんなことまでわかってんだな、真琴」
「ま、それはいいとして、今年は盛大なクリトリ、いやクリスマス会にするわよ。みんなちゃんと働くのよ。そう社畜のように!」
「「は~いwww」」