0

有没有更好(更有效的方法)让第一个和最后一个键交换这个数组中的位置?

 <?php 

 function jim_is_jill($user_names) {
    $user_A = $user_names[0];
    $user_B = $user_names[1];
    $user_C = $user_names[2];
    $user_D = $user_names[3];

    $new_arr = array($user_D, $user_B, $user_C, $user_A);

    return $new_arr;

 }

 $user_names = array('Jim', 'Josh', 'Jamie', 'Jill');
 print_r(jim_is_jill($user_names));
 ?>
4

2 回答 2

2

试试这个:

list($user_names[0],$user_names[3]) = array($user_names[3],$user_names[0]);

一般来说:

list($a,$b) = array($b,$a);

这是在不使用任何临时变量的情况下交换两个变量的最佳方式。

您还可以创建一个函数来交换任意条目:

function swap(&$arr,$x,$y) {
    list($arr[$x],$arr[$y]) = array($arr[$y],$arr[$y]);
}
于 2013-01-03T22:56:26.250 回答
1

像这样交换它们怎么样:

...
$temp = $user_names[0];
$user_names[0] = $user_names[3];
$user_names[3] = $temp;
...
于 2013-01-03T22:55:59.370 回答