久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      怎么通過(guò)PHP判斷指定月份共有幾天

      在上一篇文章《php循環(huán)學(xué)習(xí)十:判定水仙花數(shù),打印全部水仙花數(shù)》中,我們介紹了判定水仙花數(shù),并使用for循環(huán)輸出全部水仙花數(shù)的方法。這次我們來(lái)看看日期時(shí)間,介紹一下使用PHP怎么獲得某年、某月的最大天數(shù)。

      本文的主題是:給定一個(gè)年份和月份,判斷該月份共有幾天。

      我們都知道一年月份的最大天數(shù)分4種情況:

      • 大月:31天;

      • 小月:30天;

      • 閏年2月:29天

      • 平年2月:28天

      而每年固定1、3、5、7、8、10、12月份為大月,而4、6、9、11月份為小月。

      所以我們可以使用選擇控制語(yǔ)句switch case來(lái)進(jìn)行一個(gè)判斷選擇:

      當(dāng)月份$month為1、3、5、7、8、10、12則輸出31;當(dāng)$month為4、6、9、11則輸出30。代碼可以這樣寫(xiě):

      switch($month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: 	echo "$month 月共有31天";break; case 4: case 6: case 9: case 11: 	echo "$month 月共有30天";break; }

      測(cè)試一下:

      當(dāng)$month=1,則會(huì)輸出:

      怎么通過(guò)PHP判斷指定月份共有幾天

      當(dāng)$month=4,則會(huì)輸出:

      怎么通過(guò)PHP判斷指定月份共有幾天

      說(shuō)明:switch 語(yǔ)句會(huì)根據(jù)表達(dá)式的值,依次與 case 中的值進(jìn)行比較,如果不相等,繼續(xù)查找下一個(gè) case;如果相等,就會(huì)執(zhí)行對(duì)應(yīng)的語(yǔ)句,直到 switch 語(yǔ)句結(jié)束或遇到 break 為止。

      OK,大月和小月的判斷還是很簡(jiǎn)單的,就剩下一個(gè)2月了,計(jì)算2月的天數(shù),首先需要判斷該年是不是閏年。我們可以使用下面一個(gè)函數(shù)來(lái)實(shí)現(xiàn):(具體可以閱讀文章《PHP如何輸出20世紀(jì)的所有閏年》)

      function IsLeapYear($year){    return ($year % 400 == 0 || $year % 4 == 0 && $year % 100 != 0); }

      如果給定年份是閏年則會(huì)返回true或1,如果不是閏年(是平年)則返回false或0。

      然后在switch case語(yǔ)句中調(diào)用IsLeapYear($year)函數(shù)來(lái)進(jìn)行判斷:

      case 2: 	echo IsLeapYear($year)? "$month 月共有29天" : "$month 月共有28天";break;

      三元運(yùn)算符

      表達(dá)式1?表達(dá)式2:表達(dá)式3

      表示:如果條件“表達(dá)式1”成立,則執(zhí)行語(yǔ)句“表達(dá)式2”,否則執(zhí)行“表達(dá)式3”。

      我們還可以加一個(gè)default分支,用來(lái)在用戶(hù)輸入除1~12月份的數(shù)時(shí),進(jìn)行提醒:

      default:echo '輸入錯(cuò)誤,請(qǐng)輸入1-12之間的數(shù)';break;

      好了,將上面的代碼封裝為一個(gè)功能函數(shù):

      function IsLeapYear($year){    return ($year % 400 == 0 || $year % 4 == 0 && $year % 100 != 0); } function GetMaxDay($year,$month) { 	switch($month){ 	case 1: 	case 3: 	case 5: 	case 7: 	case 8: 	case 10: 	case 12: 		echo "$year 年 $month 月共有31天<br>";break; 	case 4: 	case 6: 	case 9: 	case 11: 		echo "$year 年 $month 月共有30天<br>";break; 	case 2: 		echo IsLeapYear($year)? "$year 年  $month 月共有29天<br>" : "$year 年  $month 月共有28天<br>";break; 	default:echo '輸入錯(cuò)誤,請(qǐng)輸入1-12之間的數(shù)<br>';break; 	} }

      調(diào)用GetMaxDay($year,$month)函數(shù):

      GetMaxDay(2000,2); GetMaxDay(2001,2); GetMaxDay(2001,3); GetMaxDay(2001,4);

      我們來(lái)看看輸出結(jié)果:

      怎么通過(guò)PHP判斷指定月份共有幾天

      可以看出,因?yàn)?000年是閏年,所以2月共有29天;2001年是平年,所以2月共有29天。而3月是大月,所以有31天;4月是小月,所以有30天。

      好了就說(shuō)到這里了,有其他想知道的,可以點(diǎn)擊這個(gè)哦?!?→php視頻教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)