<?php
mergeSort(&$arr,$left,$right,$temp=array()){
if($left<$right){
$mid = floor(($left+$right)/2);
mergeSort($arr,$left,$mid,$temp);
mergeSort($arr,$mid+1,$right,$temp);
merge($arr,$left,$mid,$right,$temp);
}
}
function merge(&$arr,$left,$mid,$right,$temp){
$i = $left;
$j = $mid+1;
$t = 0;
while($i<=$mid && $j<=$right){
if($arr[$i]<=$arr[$j]){
$temp[$t] = $arr[$i];
$t+=1;
$i+=1;
}else{
$temp[$t] = $arr[$j];
$t+=1;
$j+=1;
}
}
while($i<=$mid){
$temp[$t] = $arr[$i];
$t+=1;
$i+=1;
}
while($j<=$right){
$temp[$t] = $arr[$j];
$t+=1;
$j+=1;
}
$t = 0;
$tempLeft = $left;
while($tempLeft<=$right){
$arr[$tempLeft] = $temp[$t];
$t+=1;
$tempLeft+=1;
}
}
//$arr = array(-9,78,0,23,-567,70);
$arr = array(2222,122322,34,22222,44,66,1122);
print_r($arr);
$temp = array();
mergeSort($arr,0,count($arr)-1);
print_r($arr);