ギークなお姉さんは好きですか

恋焦がれる理想の男性・ギークを知るため、プログラミングがわかるお姉さんを目指すブログ

年齢は3行で割り出せるぞ!

日記

ハロー。昨日は妹の誕生日だったよ。21歳になったらしいよ。
「そろそろ今のカレシと結婚を考えてる」 て相談されて、ショックを隠しきれないよ/(^o^)\
わきまえろ!じちょうしろ!!いもうとなんてきらいだ><


今日の日付と誕生日を使って、3行で年齢を計算する方法

11月12日は、自重しないことで有名なござ先輩の誕生日!
私のときはエントリで祝福してもらったので、今度は私が おしおき おかえしするよ!

ござ先輩へ

最初は php だけで書いたため、タイトルが入ってなかった。
どうもかっこわるい。SEO 的にも良くないはず(`・3・)

とゆことで、タイトルだけ設定したい。
html のなかに php を入れてもいいんだが、せっかくなので違うやり方にしてみる。
一回目は <html><head>〜</body></html>まで書いたんだけど、
試しに省いてみたら問題なかったので削除。

print <<< end
<title>
ござ先輩、ハッピーバースデー!
</title>
end;


ヒアドキュメントは、PHP内にまとまった文章を直接記述し利用できるようにする方法です。

PHPのヒアドキュメント


そしてここからphp。なんと3行しかない。

$now = date('Ymd');
$birth = "19791112";
echo "ござ先輩、".floor(($now-$birth)/10000)."歳のお誕生日おめでとう!";

参考にしたエントリ:年齢の計算

1行目。
date() で現在の日付を取得して $now に代入。久々みたdate。前に使ったことがあるような。
9日目 カレンダを作ルンダ♪

date 関数は、フォーマット(型)を指定して日付・時間を出力する関数。
PHP 日付・時間関数の使い方


Y だけ大文字なのは理由がある!大文字の Y は 4桁の数字、小文字の y は 2桁の数字なのだ。
PHP : date - manual


2行目。
$birth に、ござ先輩の誕生日を西暦4桁と月日2桁で代入。
この1行は別々に出力してもよかったんだけど、3行で済ませたかったので .(ピリオド)でくっつけたw
ピリオドは文字列を連結させるそうな。9日目 カレンダを作ルンダ♪より)


3行目。
floor()は、引数で指定された値を小数点以下で切り捨てる関数です。
PHP関数講座:floor -- そふぃのphp入門

つまり、今日の日付 20081112 から 19791112 を引いて 10000 で割った値の小数点を切り捨てる関数。
今回はぴったし29で割り切れるけど、たとえば昨日、誕生日を迎えた私の妹の場合だと
21.0001 になっちゃう。
そんなときに「21.0001歳のお誕生日おめでとう!」と表示されたら恥ずかしいので、
小数点以下を切り捨ててくれるんだな!ありがとう!


これは誕生日以外の何かの記念日にも使えるね(・∀・)
たとえばこんな感じにも♪

あちゃみん&ダンニャ様へ
参考エントリ:いまいましいうらやましいデート日記><