各位大大好:
程式送出來的月份是01 02 03一直到12
我想說透過switch 轉成國字的一月、二月、三月,但轉換到08會產生
Parse error: Invalid numeric literal in D:\eehome\key\c.php on line 88
所以想問是否有其他辦法可以轉成國字的月份 謝謝!
echo'<div border:#af9ace 1px solid;>'.changemonth($day[2]).'</div>';
function changemonth($m)
{
switch ($m)
{
case 01:
return "一月";
break;
case 02:
return "二月";
break;
case 03:
return "三月";
break;
case 04:
return "四月";
break;
case 05:
return "五月";
break;
case 06:
return "六月";
break;
case 07:
return "七月";
break;
case 08:
return "八月";
break;
}}
你的程式碼有一個地方可以改善,
return 就是代表這個 function 已經結束了 (即使是在 switch 的 case 當中也一樣),
所以只要一個 case 有必定會發生的 return,就不需要 break 了。
然後參考 weiclin 的說法,
可以把程式改寫成下面這樣,其中的差異你可以在細細體會一番 XD
底下的不同除了會影響 Coding Style 的縮排之外,
還有變數名稱可以取的完整又精要、
函數名稱一般也都會是駝峰式的、
case 中可以只用 return 不用 break、
雙引號的字串之間用「{}」及變數名稱可以取代用「.」串接字串。
<?php
function changeMonth($month)
{
switch ($month) {
case '01': return "一月";
case '02': return "二月";
case '03': return "三月";
case '04': return "四月";
case '05': return "五月";
case '06': return "六月";
case '07': return "七月";
case '08': return "八月";
case '09': return "九月";
case '10': return "十月";
case '11': return "十一月";
case '12': return "十二月";
}
}
$changedMonth = changeMonth('08');
echo "<div border:#af9ace 1px solid;>{$changedMonth}</div>";
https://www.webteach.tw/?p=1102
請參考這篇裡面有範例