PHP切换数组值

时间:2013-07-19 15:08:26

标签: php arrays

我有一个非常简单的数组:

Array ( [friend_id] => 180 [user_id] => 175 )

我想要做的只是切换值,以便来:

Array ( [friend_id] => 175 [user_id] => 180 )

在PHP中有没有优雅的NON STATIC方法呢?

5 个答案:

答案 0 :(得分:3)

您可以使用array_combinearray_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;