2013-10-24 101 views
0

我想一次性添加所有月份,而無需手動輸入。由於月份有一個數值(1 - 12)我想這會很容易做到這一點是這樣的:使用for循環添加選項PHP

$monthsel = $form->add(new jqmSelect('month', 'month', ''), true); 
for ($i=1; $i<=12; $i++){ 
    $month = strtotime("F", $i); 
    $monthsel->add(new jqmOption("$month", $month, false)); 
    $monthsel->attribute('data-native-menu','false'); 
} 

然而,一個月被顯示裏面的選擇是這樣的:

21601 
21602 
21603 
21604 
21605 
21606 
21607 
21608 
21609 
21610 
21611 
21612 

我相信這是一個月的時間戳?

不管它是什麼,我希望月份的全名出現在Selects裏面。

+1

什麼類是$表單變量的實例?什麼是jqmSelect類?你如何呈現結果?在提問時請注意並提供詳細信息,這是不可能回答的。 – Lepidosteus

+2

um。即時通訊使用jqmphp。它是一個html生成器。它不應該考慮爲什麼我的日期有問題。所以這個問題可以回答。 –

+2

你在問一個關於爲什麼不按照你想要的方式渲染的問題,並且你認爲你用來渲染的庫「不應該考慮它爲什麼會以它的方式工作」?那麼我很抱歉地說你認爲是錯的。請至少提供一個鏈接到jqm庫和您的渲染代碼的相關部分。 – Lepidosteus

回答

1

它不工作,因爲strtotime需要一個時間戳。 $i不是時間戳,因此strtotime會將其視爲1秒。所以,你最好的選擇是做一些事情,如:

strtotime("F", date('Y-' . $i . '-m'));

這只是衆多之一是實現這一目標。你也可以像一個數組:

$months_array = array('January', 'Feburary', ...);

該做的:

$month = $months_array[$i - 1];