4

現在、できるだけ早く解決する必要のある問題に直面しています。

次のコードを使用して、今年(2012年)のすべての月を一覧表示しようとしています。

for ($m=1; $m<=12; $m++) {
     $month = date('F', mktime(0,0,0,$m));
     echo $month. '<br>';
     }

しかし、次の予期しない出力が得られます。

1月3月3月5月5月7月7月8月10月10月12月12月

私が間違っていることは助けてください!!!

4

5 に答える 5

35

これを試して:

for ($m=1; $m<=12; $m++) {
     $month = date('F', mktime(0,0,0,$m, 1, date('Y')));
     echo $month. '<br>';
     }
于 2012-05-31T07:50:43.867 に答える
10

月は毎年同じ

$array = array("January", "February",.....);
for ($m=0; $m<12; $m++) {
     echo $array[$m]. '<br>';
     }
于 2012-05-31T07:57:35.497 に答える
6

この方法でループする必要があると思います。

for($i = 1 ; $i <= 12; $i++)
{
 echo date("F",strtotime(date("Y")."-".$i."-01"));
 echo "<br/>";
}

または、あなたの場合、 mktime() を使用したい

for($i = 1 ; $i <= 12; $i++)
{
 echo date("F",mktime(0,0,0,$i,1,date("Y")));
 echo "<br/>";
}
于 2012-05-31T09:08:49.413 に答える
5

に設定dayします。それ以外の場合は変換が実行されます。mktime()130.2.2012 = 1.3.2012

$month = date('F', mktime(0,0,0,$m,1));
于 2012-05-31T07:54:00.990 に答える