如何替换php数组中的项目顺序?

时间:2012-01-30 14:38:53

标签: php sorting

我询问这个​​案例(按位置替换项目:最高等级最低等等):

我的意见:

// case1:
array('orange','blue','red');

// case2:
array('orange','blue','red','white');

应该得到输出:

// case1:
array('red','blue','orange');

// case2:
array('white','red','blue','orange');

它可以通过 - 但我正在寻找更短的方式:

function myReplaceArr(array $arr){     
 $len=count($arr);  
 $loopLen=(int)($len/2);    
 for($i=0;$i<$loopLen;$i++){
   $temp=$arr[$i];
   $arr[$i]=$arr[$len-$i-1];
   $arr[$len-$i-1]=$temp;
 }
 return $arr;
}
var_export(myReplaceArr(array('orange','blue','red')));
var_export(myReplaceArr(array('orange','blue','red','white')));

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

array_reverse()怎么办?

答案 2 :(得分:2)

多数民众赞成array_reverse();

$array_1 = array('orange','blue','red');
$array_2 = array('orange','blue','red','white');

$array_1_new = array_reverse($array_1);
$array_2_new = array_reverse($array_2);

答案 3 :(得分:1)

您可以使用array_reverse()

// case1:
    $array1 = array('orange','blue','red');
    $new_array1 = array_reverse($array1 );
    print_r($new_array1);
    Output: array('red','blue','orange');

// case2:
    $array2 = array('orange','blue','red','white');
    $new_array2 = array_reverse($array2 );
    print_r($new_array2);
    Output: array('white','red','blue','orange');