2012-01-10 12 views
0

私はちょうどPHPの初心者です。私は、次のコードを使用して月の配列を印刷しようとしています。月形式PHP

<?php 
$totalmonth=12; 
for($startmonth=01; $startmonth<=$totalmonth; $startmonth++) 
{ 
    $montharr[]=$startmonth; 
} 
print_r($montharr); 
?> 

私の結果は、私は私の結果は

[0] => 01 [1] => 02 

次のようになります。私はそれをどのように行うことができます必要Array ([0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 [10] => 11 [11] => 12)

のですか?

答えて

3

str_padを使用してください。たとえばsprintfについては

<?php 
$totalmonth=12; 
for($startmonth=1; $startmonth<=$totalmonth; $startmonth++) 
{ 
    $montharr[]=str_pad($startmonth, 2, "0", STR_PAD_LEFT); 
} 
print_r($montharr); 
?> 
+0

感謝。それは働いている。 – designersvsoft

+2

@designersvsoft:私はそれを受け入れたとマークすることをお勧めします! – joar

0

PHPは、おそらくあなたが達成しようとしているものは何でもより良いソリューションを提供します多くの日付関数がありますが、非常に迅速かつ汚い方法は、数は10、下位であるかどうかを確認してからゼロ先頭に追加することです:

<?php 
$totalmonth=12; 
for($startmonth=1; $startmonth<=$totalmonth; $startmonth++) 
{ 
    // Check amount 
    if($startmonth < 10) { 
     $montharr[]='0'.$startmonth; 
    } else { 
     $montharr[]=$startmonth; 
    } 
} 
print_r($montharr); 
?> 
1

あなたはzero-padded integersとして文字列に印刷するsprintfを使用することができます。

例:原因整数、数学の本質に

<?php 
    $month = sprintf("%02d", $month); 

。 PHP(およびすべてのアプリケーションの大多数)は(int)011と解釈します。先行ゼロを維持するには、文字列でなければなりません。内蔵のstr_pad

0

使用PHP:文字列が暗黙的に1に変換することにより、挿入されていること

<?php 
$totalmonth=12; 
for($startmonth=01; $startmonth<=$totalmonth; $startmonth++) 
{ 
    $montharr[] = str_pad($startmonth, 2, '0', STR_PAD_LEFT); 
} 
print_r($montharr); 
?> 
0

フォース:

$montharr[]= "" + $startmonth;