Php 交换/交换数组键
假设我有一个数组:Php 交换/交换数组键,php,arrays,sorting,Php,Arrays,Sorting,假设我有一个数组: Array ( [0] => 18208021789 [1] => Ziggo-Humax iHDR5050C [2] => 191.90 [4] => Something [5] => foo bar } 我想用[5]替换[1]的位置,因此我应该: Array ( [0] => 18208021789 [1] => foo bar [2] => 191.90
Array
(
[0] => 18208021789
[1] => Ziggo-Humax iHDR5050C
[2] => 191.90
[4] => Something
[5] => foo bar
}
我想用[5]替换[1]的位置,因此我应该:
Array
(
[0] => 18208021789
[1] => foo bar
[2] => 191.90
[4] => Something
[5] => Ziggo-Humax iHDR5050C
}
如何使用PHP实现这一点?您可以使用此函数。复制一下:D
$tmp=$arr[1];
$arr[1]=$arr[5];
$arr[5]=$tmp;
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);
}
你可以使用这个功能。复制一下: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);
}
阅读更多关于。此外,list
不是一个函数
阅读更多关于。此外,list
不是一个函数
list($arr[1], $arr[5]) = array($arr[5], $arr[1]);