2012-03-16 39 views
1

我有个月阵列等个月阵列不显示正确的值

$month = array(
    01 => "January", 
    02 => "February", 
    03 => "March", 
    04 => "April", 
    05 => "May", 
    06 => "June", 
    07 => "July", 
    08 => "August", 
    09 => "September", 
    10 => "October", 
    11 => "Novemeber", 
    12 => "December" 
); 

但是当我的print_r此它显示这样

Array 
(
    [1] => January 
    [2] => February 
    [3] => March 
    [4] => April 
    [5] => May 
    [6] => June 
    [7] => July 
    [0] => September 
    [10] => October 
    [11] => Novemeber 
    [12] => December 
) 

它显示七重峰为0和八月份是不显示。

任何人都可以告诉我这是什么问题。
感谢

回答

1

Nubmber从0开始被解释为octal constats。

由于89是不是一个有效的数字八进制,0809是无效号码,都解释为只是0。 “08”是字符串,即使是在算术运算的情况下,将被解释为正常的十进制整数:

"echo '08'+'08'; // 16 

因此使用字符串应该是您的情况是安全的。

+0

感谢您的好解释kirilloid – Shamsher 2012-03-16 06:10:19

4

尝试增加报价:


$month = array(
    "01" => "January", 
    "02" => "February", 
    "03" => "March", 
    "04" => "April", 
    "05" => "May", 
    "06" => "June", 
    "07" => "July", 
    "08" => "August", 
    "09" => "September", 
    "10" => "October", 
    "11" => "Novemeber", 
    "12" => "December" 
); 
+0

Thanx Sudhir它的工作原理 – Shamsher 2012-03-16 05:34:26