function findMedianOfTwoSortedArrays($arr1, $arr2) {
$size1 = count($arr1);
$size2 = count($arr2);
$merged = array_fill(0, $size1 + $size2, 0);
$i = 0;
$j = 0;
$k = 0;
while ($i < $size1 && $j < $size2) {
if ($arr1[$i] < $arr2[$j]) {
$merged[$k++] = $arr1[$i++];
}
else {
$merged[$k++] = $arr2[$j++];
}
}
while ($i < $size1) {
$merged[$k++] = $arr1[$i++];
}
while ($j < $size2) {
$merged[$k++] = $arr2[$j++];
}
$total = $size1 + $size2;
if ($total % 2 == 0) {
$mid1 = $merged[(int)(($total - 1) / 2)];
$mid2 = $merged[(int)($total / 2)];
$median = (float)($mid1 + $mid2) / 2.0;
}
else {
$median = (float)$merged[(int)($total / 2)];
}
return $median;
}
$arr1 = array(1, 3, 5);
$arr2 = array(2, 4, 6);
$median = findMedianOfTwoSortedArrays($arr1, $arr2);
echo "Median: " . $median;
/*
run:
Median: 3.5
*/