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 を出力します。

statusinteger の場合、その値も終了ステータスとして使用されます。 終了ステータスは 0 から 254 までの間の値であるべきであり、 ステータス 255 はPHPによって予約されているので使用すべきではありません。 ステータス 0 は、プログラムを正常に終了させる際に使用します。


雰囲気は似ているようです。