Ben
Ben

Reputation: 25807

How replace item order in php array?

I asking about this case(replace item by position : highest with lowest etc.. ):

my inputs:

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

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

should get outputs:

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

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

its can be done by - but i am looking for more shorter way:

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

Upvotes: 2

Views: 64

Answers (4)

ahmet2106
ahmet2106

Reputation: 5007

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

Upvotes: 2

Sabari
Sabari

Reputation: 6335

You can use 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');

Upvotes: 1

ghoti
ghoti

Reputation: 46856

What about array_reverse() ?

Upvotes: 2

Felix Kling
Felix Kling

Reputation: 816452

The list of array functions contains an array_reverse function.

Upvotes: 4

Related Questions