回声月份名称来自数值

时间:2013-11-18 10:58:27

标签: php html get

我想显示依赖于数值的月份名称。所以如果11,11月显示,9显示9月等等。

这是我的代码:

 $month=$_GET["q"];             


if($month['month'] == '11')
{
  echo"November";
}

if($month['month'] == '10')
{
  echo"October";
}

     if($month['month'] == '9')
{
  echo"September";
}

这没有显示任何内容?有人可以帮忙吗?

8 个答案:

答案 0 :(得分:2)

无需创建多个if语句。您只需使用DateTime::createFromFormat即可实现此目的:

$month_number = (int) $_GET["q"]; 
if($month_number > 0 && $month_number <= 12)
    echo DateTime::createFromFormat('m', $month_number)->format('F');

答案 1 :(得分:2)

如果$_GET['q']包含您的月份编号,则只需使用$month而不是$month['month']

可能这是使用Non-OOP PHP实现结果的最佳方式:

$month = $_GET['q'];
$monthName = date("F", mktime(0, 0, 0, $month));
echo $monthName;

答案 2 :(得分:0)

它会喜欢这个

if($month == '11') {

}

因为您直接将GET值分配给$month。请假设q将是月份名称。

答案 3 :(得分:0)

因为$ _GET [“q”]不能是一个数组,所以你不能使用$ month ['month'],直接使用$ month

而不是你可以使用的其他代码,以下代码直接回显月名。

$monthName = date("F", mktime(0, 0, 0, $month));
echo $monthName;

http://php.net/manual/en/function.date.phphttp://php.net/manual/en/function.mktime.php

的更多详情

答案 4 :(得分:0)

这里你的情况 $ month 是变量而不是数组所以尝试使用这样......

    if($month=='11')
        echo 'Nov';

答案 5 :(得分:0)

试试这个:

$monthArr = array('1'=>'Jan','2'=>'Feb');
echo $monthArr[$month];

答案 6 :(得分:0)

$ month = date('n');

 if($month == '11') 
    {
      echo "November";
    }
    if($month == '10')
     {
      echo "November";
    }

确保您获得正确的值,例如:10,11 ... for month variable

答案 7 :(得分:-1)

你可以简单地使用字符串来计时。

$month=$_GET["q"]; 
echo date('F', strtotime('2012-' . $month . '-01'));

这将为您提供月份的全名,具体取决于月份变量的分配数量。

Strtotime需要日期,因此为什么2012等也在那里,尽管与输出无关。

相关问题