2012-01-30 99 views
2

我问这种情况下,(:具有最低等等..最高按位置替换项):如何在php数组中替换项目顺序?

我输入:

// 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'))); 
+0

你知道正确的顺序是提前的时间是什么? – 2012-01-30 14:41:15

回答

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

希望帮助

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