我有这个输入:
array(
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
);
Run Code Online (Sandbox Code Playgroud)
我想得到这个:
array(
'a' => 1,
'c' => 3,
'b' => 2,
'd' => 4
);
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,键改变了,而不是它们的值。我知道关联数组中没有偶数顺序 - 就我而言,这很重要。那么,有什么解决办法吗?
另一种解决方案,对于任意
$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);
Run Code Online (Sandbox Code Playgroud)
输出:
Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
)
Array
(
[a] => 1
[c] => 3
[d] => 4
[b] => 2
)
Run Code Online (Sandbox Code Playgroud)