2013-05-21 2 views
0

Допустим, у меня есть массив:обмена ключами/обмена массив PHP

Array 
(
    [0] => 18208021789 
    [1] => Ziggo-Humax iHDR5050C 
    [2] => 191.90 
    [4] => Something 
    [5] => foo bar 
} 

И я хочу, чтобы изменить заменить место [1] с [5], так что в результате я должен иметь:

Array 
(
    [0] => 18208021789 
    [1] => foo bar 
    [2] => 191.90 
    [4] => Something 
    [5] => Ziggo-Humax iHDR5050C 
} 

Как я могу достичь этого с помощью PHP?

ответ

1

Вы можете использовать эту функцию. Просто скопируйте его: D

function swapPos(&$arr, $pos1, $pos2){ 
     $keys = array_keys($arr); 
     $vals = array_values($arr); 
     $key1 = array_search($pos1, $keys); 
     $key2 = array_search($pos2, $keys); 

     $tmp = $keys[$key1]; 
     $keys[$key1] = $keys[$key2]; 
     $keys[$key2] = $tmp; 

     $tmp = $vals[$key1]; 
     $vals[$key1] = $vals[$key2]; 
     $vals[$key2] = $tmp; 

     $arr = array_combine($keys, $vals); 
    } 
2
list($arr[1], $arr[5]) = array($arr[5], $arr[1]); 

Подробнее о list. Кроме того, list не является функцией.

Смежные вопросы