假设存在一个数组:
$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';
您甚至可以自己体验here on codepad。
如何解决这个问题?我是否必须编写自己的映射函数,可以处理此问题还是有其他方法吗?
答案 0 :(得分:6)
您只需使用以下代码:
array_reverse($array, true)
根据php文档,要保留键,必须将第二个参数设置为true