【PHP】20181130課堂練習參考答案
-
製作一個輸入方塊,限制輸入1~7,輸出對應星期的英文:Mon, Tue, Wed, Thu, Fri, Sat, Sun
<form action="" method="POST">
輸入星期數字(1~7) : <input type="text" name="a">;
<input type="submit" value="送出" name="submit_btn">;
</form>
<?php
if(isset($_REQUEST[‘submit_btn’]))
{
$weekDay = array(”, ‘Mon’, ‘Tue’, ‘Wed’, ‘Thu’, ‘Fri’, ‘Sat’, ‘Sun’);
$a = $_POST["a"];
if ($a < 1 || $a >; 7) {
echo "輸入錯誤!只接受1~7的數字!";
exit();
}
echo "<H1>;".$weekDay[$a]."</H1>";
}
?>
[/code]
-
製作一個輸入方塊,限制輸入1~12,輸出對應月份的英文:January, February, March, April, May, June, July, August, September, October, November, December。(請參考上題。)
-
輸入月份的英文:January, February, March, April, May, June, July, August, September, October, November, December,輸出其代表的幾月。
輸入月份的英文名稱(January,… ) : <input type="text" name="month">
<input type="submit" value="送出" name="submit_btn">
</form>
<?php
if(isset($_REQUEST[‘submit_btn’])) {
$mt = array(‘January’=>1, ‘February’=>2, ‘March’=>3,
‘April’=>4, ‘May’=>5, ‘June’=>6,
‘July’=>7, ‘August’=>8, ‘September’=>9,
‘October’=>10, ‘November’=>11, ‘December’=>12);
$month = $_POST["month"];
$month[0] = strtoupper($month[0]);
echo "你輸入的月份英文名稱是:".$month;
echo "其月份數字為:".$mt[$month];
}
?>
[/code]
-
輸入身份證字號(字串),由第1個字元根據下表輸出出生地:
A=10 台北市 | J=18 新竹縣 | S=26 高雄縣 |
B=11 台中市 | K=19 苗栗縣 | T=27 屏東縣 |
C=12 基隆市 | L=20 台中縣 | U=28 花蓮縣 |
D=13 台南市 | M=21 南投縣 | V=29 台東縣 |
E=14 高雄市 | N=22 彰化縣 | W=32 金門縣 |
F=15 台北縣 | O=35 新竹市 | X=30 澎湖縣 |
G=16 宜蘭縣 | P=23 雲林縣 | Y=31 陽明山 |
H=17 桃園縣 | Q=24 嘉義縣 | Z=33 連江縣 |
I=34 嘉義市 | R=25 台南縣 |
輸入身份證字號 : <input type="text" name="id">
<input type="submit" value="送出" name="submit_btn">
</form>
<?php
if(isset($_REQUEST[‘submit_btn’])) {
$id_city = array(‘台北市’, ‘台中市’, ‘基隆市’,
‘台南市’, ‘高雄市’, ‘台北縣’,
‘宜蘭縣’, ‘桃園縣’, ‘新竹縣’,
‘苗栗縣’, ‘台中縣’, ‘南投縣’,
‘彰化縣’, ‘雲林縣’, ‘嘉義縣’,
‘台南縣’, ‘高雄縣’, ‘屏東縣’,
‘花蓮縣’, ‘台東縣’, ‘澎湖縣’,
‘陽明山’, ‘金門縣’, ‘連江縣 ‘,
‘嘉義市’, ‘新竹市’);
$id_city_1 = array(‘A’ => ‘台北市’, ‘B’ => ‘台中市’,
‘C’ => ‘基隆市’, ‘D’ => ‘台南市’,
‘E’ => ‘高雄市’, ‘F’ => ‘台北縣’);
//只寫前面幾個,完整的,請自行加入
$id = $_POST["id"]; //從輸入方塊取值,指定給變數$id
$id = trim($id); //除去輸入身份證(字串)的空白
echo $id.’…..’;
//將第一個字元轉大寫
$id[0]= strtoupper($id[0]);
echo "你身份證字號第1個字:".$id[0]."<br>";
//第一種方式,用整數索引的方式
echo "你的出身地是:".$id_city[ord($id[0])-65]."(整數索引)<br>";
//第二種種方式,用關連陣列索引的方式
echo "你的出身地是:".$id_city_1[$id[0]]."(關連陣列索引)<br>";
}
?>
[/code]
將分數分級程式以陣列方式改寫:
[code language=”php”]<form action="" method="POST">
請輸入你的成績 : <input type="text" name="score">
<input type="submit" value="送出" name="submit_btn">
</form>
<?php
$grade = array(‘E’, ‘E’, ‘E’, ‘E’, ‘E’, ‘E’, ‘D’, ‘C’, ‘B’, ‘A’, ‘A+’);
if(isset($_REQUEST[‘submit_btn’]))
{
$score = $_POST["score"];
if (! is_numeric($score)) {
echo "請輸入數值!";
exit();
}
if ($score <= 100 &amp;amp;&amp;amp; $score >= 0){
$s = (int)($score / 10);
echo $grade[$s];
}
else echo "輸入的值 $score 是錯的,必須在0~100之間";
}
?>
[/code]