0

假设存在一个数组:

$array = array(
    '1001' => 'a',
    '1002' => 'b',
    '1003' => 'c',
);

现在假设有人想要反转该数组:

$array = array_reverse($array);

问题是,这array_reverse似乎将所有数值转换为整数,然后重置索引:

0 => 'c'  - should be '1003' => 'c'
1 => 'b'  - should be '1002' => 'b'
2 => 'a'  - should be '1001' => 'a'

有人可能也尝试过的是这个 - 但没有任何运气(如预期的那样):

$array[(string) $index] = 'a';

您甚至可以在键盘上亲自体验。

如何解决?我是否必须编写自己的映射函数,它可以处理这个问题还是有其他方法?

4

1 回答 1

6

您只需要使用以下代码:

array_reverse($array, true)

根据 php 文档,要保留密钥,您必须将第二个参数设置为true

于 2013-10-05T11:40:45.253 回答