我有这个输入:
array(
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
);
我想得到这个:
array(
'a' => 1,
'c' => 3,
'b' => 2,
'd' => 4
);
如您所见,更改的是键,而不是它们的值。我知道关联数组中没有均匀的顺序 - 就我而言,这很重要。那么,有什么解决办法吗?
最佳答案
另一种解决方案,任意
$array = array(
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
);
print_r($array);
$myNewOrder = ['a','c','d','b'];
$result = [];
foreach($myNewOrder as $key){
$result[$key] = $array[$key];
}
$array = $result;
print_r($array);
输出:
Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
)
Array
(
[a] => 1
[c] => 3
[d] => 4
[b] => 2
)
关于Php,如何交换两个关联数组KEY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32429196/