我有一个非常简单的数组:
Array ( [friend_id] => 180 [user_id] => 175 )
我想要做的只是切换值,以便来:
Array ( [friend_id] => 175 [user_id] => 180 )
在PHP中有没有优雅的NON STATIC方法呢?
答案 0 :(得分:3)
您可以使用array_combine和array_reverse
$swapped = array_combine(array_keys($arr), array_reverse(array_values($arr)));
答案 1 :(得分:2)
没有。使用临时值:
$temp = $array['friend_id'];
$array['friend_id'] = $array['user_id'];
$array['user_id'] = $temp;
答案 2 :(得分:0)
有点长,但我认为它满足您对2个元素数组的要求,就像您在示例中使用的那样:
// your input array = $yourarray;
$keyarray = array_keys($yourarray);
$valuearray = array_values($yourarray);
/// empty input array just to make sure
$yourarray = array();
$yourarray[$keyarray[0]] = $valuearray[1];
$yourarray[$keyarray[1]] = $valuearray[0];
基本上,Orangepill的回答是手动完成的......
答案 3 :(得分:0)
如何使用array_flip?
array array_flip(array $ trans)
$myar = array('apples', 'oranges', 'pineaples'); print_r($myar);
print_r(array_flip($myar));
Array
(
[0] => apples
[1] => oranges
[2] => pineaples
)
Array
(
[apples] => 0
[oranges] => 1
[pineaples] => 2
)
答案 4 :(得分:-1)
$tmp = $array['user_id'];
$array['user_id'] = $array['friend_id'];
$array['friend_id'] = $tmp;