2012-01-30 27 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');