這個題目是來自於一本工具書裡的題目(最新PHP+MYSQL+AJAX網頁程式設計)
題目的要求是要讓使用者輸入3位數(數字),然後要將這三位數字轉成中文的寫法
比方說: 123,要讓他輸出成 壹百貳十叁
還滿趣的,就試了一下,稍微有練習到字串的處理(心想乾脆一天一題好了...= = )
我的寫法很low,超級初學的寫法,不過這不是重點xd
我把這個練習拆成兩個頁面,分別是page1跟page2
page1是一個表單,讓使用者輸入數字,送出後到page2
page2必須判斷這個欄位的值使否是三位數,若不是就要回到page1
這個練習做的還不算完整,因為我沒有去去除不良標籤,也沒有去驗證是英文或是中文就不能送出。
page1 :
題目的要求是要讓使用者輸入3位數(數字),然後要將這三位數字轉成中文的寫法
比方說: 123,要讓他輸出成 壹百貳十叁
還滿趣的,就試了一下,稍微有練習到字串的處理(心想乾脆一天一題好了...= = )
我的寫法很low,超級初學的寫法,不過這不是重點xd
我把這個練習拆成兩個頁面,分別是page1跟page2
page1是一個表單,讓使用者輸入數字,送出後到page2
page2必須判斷這個欄位的值使否是三位數,若不是就要回到page1
這個練習做的還不算完整,因為我沒有去去除不良標籤,也沒有去驗證是英文或是中文就不能送出。
page1 :
page2:
<?php
header('Content-type:text/html;charset=utf-8');
echo "您所輸入的數字是 : ".$_POST['number'];
/*使用 substr()傳回部分字串,將傳來的值指定給$a*/
$a = $_POST['number'];
//strlen()先計算使用者是否真的輸入三位數
if(strlen($a)== 3)
{
$first = substr($a,0,1); //第1個值
$second = substr($a,-2,1); //第2個值
$third = substr($a,-1); //第3個值
//echo $first.$second.$third;
echo "
以下為轉換結果:
";
//先檢查第一個位數
switch($first){
case '0':
break;
case '1':
echo "壹百";
break;
case '2':
echo "貳百";
break;
case '3':
echo "參百";
break;
case '4':
echo "肆百";
break;
case '5':
echo "伍百";
break;
case '6':
echo "陸百";
break;
case '7':
echo "柒百";
break;
case '8':
echo "捌百";
break;
case '9':
echo "玖百";
break;
}
//檢查第二位數
switch($second){
case '0':
echo "零";
break;
case '1':
echo "壹拾";
break;
case '2':
echo "貳拾";
break;
case '3':
echo "參拾";
break;
case '4':
echo "肆拾";
break;
case '5':
echo "伍拾";
break;
case '6':
echo "陸拾";
break;
case '7':
echo "柒拾";
break;
case '8':
echo "捌拾";
break;
case '9':
echo "玖拾";
break;
}
//檢查第三位數
switch($third){
case '0':
//echo "零";
break;
case '1':
echo "壹";
break;
case '2':
echo "貳";
break;
case '3':
echo "參";
break;
case '4':
echo "肆";
break;
case '5':
echo "伍";
break;
case '6':
echo "陸";
break;
case '7':
echo "柒";
break;
case '8':
echo "捌";
break;
case '9':
echo "玖";
break;
}
}
else
{
?>
<script>
alert("很抱歉,您輸入的數字不是三位數");
location.href="page1.php";
</script>
<? } ?>


沒有留言:
張貼留言
若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD