PHP基礎講座 http://www.phppro.jp/school/phpschool/vol4/2
年齢を取得して、それを反映した前回のプログラムを
一歩進めて、占いっぽくなっている。
今回も又力技。
とりあえず書いてみる。。。
<?php
if (is_numeric($_GET["age"]) == false) {
print("年齢は数字で教えてください!");
exit();
}
$uranai_message[0] =
"ちょっとあなたの年齢は対象年齢に含まれていません・・・";
$uranai_message[1] =
"10代のあなたには、PHPをお守り代わりに勉強するのが良いみたい。";
$uranai_message[2] =
"20代のあなたには、趣味でPHPを使うと良いみたい。";
$uranai_message[3] =
"30代のあなたには、ビジネススキルとしてPHPを勉強すると良いみたい。";
$uranai_message[4] =
"40代のあなたには、PHPは新たなフロンティアとなるでしょう。";
if ($_GET["age"] >= 50 || $_GET["age"] < 10) {
$sedai = 0;
} elseif ($_GET["age"] >= 40) {
$sedai = 4;
} elseif ($_GET["age"] >= 30) {
$sedai = 3;
} elseif ($_GET["age"] >= 20) {
$sedai = 2;
} else {
$sedai = 1;
}
print($uranai_message[$sedai]);
?>
uranai_message[]でメッセージの内容を定義(?)して、
その後のif分岐でメッセージの取得をしているようですね。
前回出てきたhtmlspecialcharsが出てきていないようだけど、
16行目の$前あたりに入れないのかな・・・?
しかしながら、これでif分岐だと、
メッセージの量が増えたときに面倒なような気がするな。
今回はexit();
ん?出口?
exit() 関数は、スクリプトの実行を終了します。 終了直前に status を出力します。
status がinteger の場合、その値も終了ステータスとして使用されます。 終了ステータスは 0 から 254 までの間の値であるべきであり、 ステータス 255 はPHPによって予約されているので使用すべきではありません。 ステータス 0 は、プログラムを正常に終了させる際に使用します。
雰囲気は似ているようです。