Php,如何交换两个关联数组KEY?

Joh*_*ith 2 php arrays

我有这个输入:

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)

正如你所看到的,键改变了,而不是它们的值。我知道关联数组中没有偶数顺序 - 就我而言,这很重要。那么,有什么解决办法吗?

Dan*_*rom 5

另一种解决方案,对于任意

$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)