显示年历

时间:2015-10-12 15:06:58

标签: php arrays calendar string-comparison

我很安静....而且我仍然在使用代码搞砸了很多东西。

我做了一个数组:

$months = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

然后我有一个switch语句,它返回每个月的天数:

function month_length($month) {

    $leap_year = date("L");

    switch ($month) { 
        case "January":    return $max = 31;       
        case "February":   
               if ($leap_year === 1) {
                return $max = 29;
            } else {
                return $max = 28;
            }
        case "March":      return $max = 31;
        case "April":      return $max = 30; 
        case "May":        return $max = 31; 
        case "June":       return $max = 30; 
        case "July":       return $max = 31; 
        case "August":     return $max = 31; 
        case "September":  return $max = 30; 
        case "October":    return $max = 31; 
        case "November":   return $max = 30;
        case "December":   return $max = 31;
        default:           return $max = "wrong number";
    }     
}

如果数组的任何对象与任何情况匹配,我有什么方法可以比较吗?

让我澄清一下;所以目前,我需要设置$ current_month让php知道我想要显示的是什么情况,并希望能够显示每年的所有月份。

有谁知道我想说什么?所以我想我需要将数组中的字符串与switch语句的情况进行比较,但是......怎么样?因为我不想每人比较一个:S

谢谢!!!!

2 个答案:

答案 0 :(得分:1)

foreach的简单解决方案:

foreach($months as $month) {
   echo "The month with name $month has ".month_length($month)." days.<br>";
}

答案 1 :(得分:0)

此代码将打印表日历。它将显示每行7天,共5列。从30/31到35天的日子充满了一个月的下一天或前几天,以保持一周的方面。

希望它有所帮助。

SELECT [instance_id]
  ,[job_id]
  ,[step_id]
  ,[step_name]
  ,[sql_message_id]
  ,[sql_severity]
  ,[message]
  ,[run_status]
  ,[run_date]
  ,[run_time]
  ,[run_duration]
  ,[operator_id_emailed]
  ,[operator_id_netsent]
  ,[operator_id_paged]
  ,[retries_attempted]
  ,[server]
  FROM [dbo].[sysjobhistory]