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);

これは、一時変数を使用せずに 2 つの変数を交換する最良の方法です。

任意のエントリを交換する関数を作成することもできます:

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 に答える