function reverseSubarray(&$arr, $start, $end) {
if ($end > count($arr)) {
echo "End index out of range";
return;
}
$mid_sub = ($end - $start + 1) / 2;
for ($i = 0; $i < $mid_sub; $i++) {
$tmp = $arr[$start + $i];
$arr[$start + $i] = $arr[$end - $i];
$arr[$end - $i] = $tmp;
}
}
$arr = array(1, 4, 8, 0, 7, 3, 9, 5, 6);
$start = 2;
$end = 6;
reverseSubarray($arr, $start, $end);
print_r($arr);
/*
run:
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 3
[4] => 7
[5] => 0
[6] => 8
[7] => 5
[8] => 6
)
*/