将数组值与 php 交换
我有一个数组:
array(
0 => 'contact',
1 => 'home',
2 => 'projects'
);
我需要将“联系人”与“home”交换,因此数组将如下所示:
array(
0 => 'home',
1 => 'contact',
2 => 'projects'
);
我如何使用PHP做到这一点?:)
我有一个数组:
array(
0 => 'contact',
1 => 'home',
2 => 'projects'
);
我需要将“联系人”与“home”交换,因此数组将如下所示:
array(
0 => 'home',
1 => 'contact',
2 => 'projects'
);
我如何使用PHP做到这一点?:)
我写了简单的函数:在位置和之间交换两个元素。array_swap
swap_a
swap_b
function array_swap(&$array,$swap_a,$swap_b){
list($array[$swap_a],$array[$swap_b]) = array($array[$swap_b],$array[$swap_a]);
}
对于OP问题(例如):
$items = array(
0 => 'contact',
1 => 'home',
2 => 'projects'
);
array_swap($items,0,1);
var_dump($items);
// OUTPUT
array(3) {
[0]=> string(4) "home"
[1]=> string(7) "contact"
[2]=> string(8) "projects"
}
更新从 PHP 7.1 开始,可以像这样操作:
$items = [
0 => 'contact',
1 => 'home',
2 => 'projects'
];
[$items[0], $items[1]] = [$items[1], $items[0]];
var_dump($items);
// OUTPUT
array(3) {
[0]=> string(4) "home"
[1]=> string(7) "contact"
[2]=> string(8) "projects"
}
这是通过对称数组解构实现的。
试试这个:
$a = array(
0 => 'contact',
1 => 'home',
2 => 'projects'
);
$temp = $a[0];
$a[0] = $a[1];
$a[1] = $temp;