追記…というか、修正の御報告
変換式を再検討してみたのだが、どうも、猫では性成熟後 1年で 4歳加齢というのが主流のようなので、式を書き換えてみた。
というわけで、犬と猫に関しては出力結果が以前とだいぶ変わります。ごめんなさい。
犬に関しては、大型・中型・小型で本当は寿命が全く異なるので式も違ってくるのだが、相違厳密なものではないということでばっさりスポイル。すみません。そもそも年齢換算自体に無理がある話なんで、厳密さなどというものを求めていくとどこかで破綻する。
ソースはこちら。
<HTML> <HEAD> <META name="GENERATOR" content="WZ EDITOR Version 4.00E"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>「猫で言うと○歳!」</TITLE> </HEAD> <BODY bgcolor="#ccbbc0"> <H2>どうぶつ年齢換算</H2> <P><font color="#cc3399">PHP版(携帯対応)</font><BR> <FONT color="#cc0000" size="-1">※注:諸説あるうちの一例です</FONT> </P> <?php $x = true; $s = "<font color='#0099cc'>"; $xh = ""; $sh = "<font>"; $xi = ""; $si = "<font>"; $xn = ""; $sn = "<font>"; $xu = ""; $su = "<font>"; $xr = ""; $sr = "<font>"; $age = (float) $_GET['age']; if ($age <= 0) { $age = $_POST['age']; if ($_POST['age'] <= 0) { $age = 18; $x = false; } } if (($_POST['base'] == "i") || ($_GET['inu']) || ($_GET['dog'])) { $i = $age; $xi = "checked"; $si = $s; if ($i < 1) { $h = 17 * $i; } else { $h = 5 * $i + 12; } } elseif (($_POST['base'] == "n") || ($_GET['neko']) || ($_GET['cat'])) { $n = $age; $xn = "checked"; $sn = $s; if ($n < 1) { $h = 18 * $n; } elseif ($n < 2) { $h = 6 * $n + 12; } else { $h = 4 * $n + 16; } } elseif (($_POST['base'] == "u") || ($_GET['uma']) || ($_GET['horse'])) { $u = $age; $xu = "checked"; $su = $s; if ($u < 2) { $h = 6 * $u;} elseif ($u < 3) { $h = 5 * $u + 2; } } elseif (($_POST['base'] == "r") || ($_GET['usagi']) || ($_GET['rabit'])) { $r = $age; $xr = "checked"; $sr = $s; if ($r < 2 / 3 ) { $h = 27 * $r;} elseif ($r < 4 / 3 ) { $h = 9 * $r + 12; } else { $h = 6 * $r + 16; } } else { $h = $age; $xh = "checked"; $sh = $s; } if ($h < 18) { $i = $h / 17; } else { $i = ($h - 12) / 5; } if ($h < 18) { $n = $h / 18; } elseif ($h < 24) { $n = ($h - 12) / 6; } else { $n = ($h - 16) / 4; } if ($h < 12) { $u = $h / 6; } elseif ($h < 17) { $u = ($h - 2) / 5; } else { $u = ($h - 8) / 3; } if ($h < 18) { $r = $h / 27; } elseif ($h < 24) { $r = ($h - 12) / 9; } else { $r = ($h - 16) / 6; } if ($x) { print ($sh); printf ("ひと:%1.1f歳 (%d歳%d月)<br>" , $h , $h , ($h - floor($h)) * 12 ); print ("</font>" . $si); printf ("いぬ:%1.1f歳 (%d歳%d月)<br>" , $i , $i , ($i - floor($i)) * 12 ); print ("</font>" . $sn); printf ("ねこ:%1.1f歳 (%d歳%d月)<br>" , $n , $n , ($n - floor($n)) * 12 ); print ("</font>" . $su); printf ("うま:%1.1f歳 (%d歳%d月)<br>" , $u , $u , ($u - floor($u)) * 12 ); print ("</font>" . $sr); printf ("うさ:%1.1f歳 (%d歳%d月)<br>" , $r , $r , ($r - floor($r)) * 12 ); print ("</font><HR>"); } ?> <FORM action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 年齢:<INPUT size="5" type="text" name="age" tabindex="1" style="text-align : right;" istyle="4" mode="numeric" value="<?php echo $age; ?>">歳<BR> <input type="radio" name="base" value="h" accesskey="1" <?php echo $xh; ?> /> ひと<br> <input type="radio" name="base" value="i" accesskey="2" <?php echo $xi; ?> /> いぬ<br> <input type="radio" name="base" value="n" accesskey="3" <?php echo $xn; ?> /> ねこ<br> <input type="radio" name="base" value="u" accesskey="4" <?php echo $xu; ?> /> うま<br> <input type="radio" name="base" value="r" accesskey="5" <?php echo $xr; ?> /> うさぎ<br> <INPUT type="submit" accesskey="#" tabindex="2" name="btn_calc" value=" CALC "> <INPUT type="reset" accesskey="*" name="btn_clr" value=" C "> <BR> </FORM> <hr> <P><IMG src="BBY_icn4.gif" width="32" height="32" border="0"> <A href="http://d.hatena.ne.jp/owl/20060701#age"> 熾火研究所</A>謹製 <br>2006/07/09 </P> <P><A href="http://hum.uah.jp/age.php"><IMG src="qr_age_php_uah.gif" height="87" width="87" border="0"></A> 携帯でもOK </P> </BODY> </HTML>