How to rearrange array and set even indexed values to be smaller than odd indexed values in PHP

1 Answer

0 votes
function RearrangeOddEven(&$arr) {
    for ($i = 0; $i < count($arr) - 1; $i++) {
        if ($i % 2 == 0 && $arr[$i] > $arr[$i + 1]) {
            list($arr[$i], $arr[$i + 1]) = array($arr[$i + 1], $arr[$i]);
        }
        if ($i % 2 != 0 && $arr[$i] < $arr[$i + 1]) {
            list($arr[$i], $arr[$i + 1]) = array($arr[$i + 1], $arr[$i]);
        }
    }
}
    

$arr = array(1, 2, 3, 5, 8, 6, 7, 4);
        
RearrangeOddEven($arr);

echo json_encode($arr);




/*
run:
 
[1,3,2,8,5,7,4,6]
 
*/

 



answered Nov 14, 2022 by avibootz
...