PHP中的反向数组,索引错误

时间:2016-12-19 14:53:53

标签: php arrays reverse

在PHP中,我有一个这样的数组:

Array ( 
    [12] => Dec 
    [01] => Jan 
    [02] => Feb 
    [03] => Mar 
    [04] => Apr 
    [05] => May 
    [06] => Jun 
    [07] => Jul 
    [08] => Aug 
    [09] => Sep 
    [10] => Oct 
    [11] => Nov 
) 
然后我做了类似的事情:$reverse_months = array_reverse($months);

我不明白为什么结果如下:

Array ( 
    [0] => Nov 
    [1] => Oct 
    [09] => Sep 
    [08] => Aug 
    [07] => Jul 
    [06] => Jun 
    [05] => May 
    [04] => Apr 
    [03] => Mar 
    [02] => Feb 
    [01] => Jan 
    [2] => Dec 
)

您可以清楚地看到这些年来最近三个月的错误索引与原始$months数组相比: - (

有没有人能够解释为什么会发生这种奇怪的行为,我该如何解决呢?结果结果是我理想的结果,除了10月,11月和12月的错误数组索引。谢谢!

1 个答案:

答案 0 :(得分:4)

10,11和12是数字键,其中01,02等是命名键,php所做的是重新枚举数字键。其中有3个是0,1,2。命名键不会重新枚举(它们应该如何?)。要保留整数键,请使用

array_reverse($months, true);