How to split an array and add the first part to end in PHP

1 Answer

0 votes
function print_arr($arr) {
	$size = count($arr);

	for ($i = 0; $i < $size; $i++) {
		echo $arr[$i] . " ";
	}
	echo "\n";
}

function reverse(&$arr, $start, $end) {
	for ($i = $start, $j = $end; $i <= $end && $j > $i; $i++, $j--) {
		$temp = $arr[$i];
		$arr[$i] = $arr[$j];
		$arr[$j] = $temp;
	}
}

function split(&$arr, $split_point) {
    $size = count($arr);
	if ($size <= 1 && $split_point < 1 && $split_point >= $size) {
		return;
	}
	
	// reverse first part
	reverse($arr, 0, $split_point - 1);

	// reverse second part
	reverse($arr, $split_point, $size - 1);

	// reverse all array 
	reverse($arr, 0, $size - 1);
}


$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 0);
	
$split_point = 3;
	
split($arr, $split_point);

print_arr($arr);



	
/*
run:
   
4 5 6 7 8 9 0 1 2 3 
   
*/

 



answered Nov 29, 2021 by avibootz

Related questions

1 answer 197 views
1 answer 184 views
1 answer 151 views
1 answer 135 views
1 answer 115 views
...