Here is the best way of sorting. Also check response time.
function findMaxVal($arr)
{
$maxNum = $arr[0];
foreach($arr as $arval)
{
$maxNum = $maxNum < $arval ? $arval : $maxNum;
}
return $maxNum;
}
function sortArrFun($arr)
{
$maxVal = findMaxVal($arr);
$countArr = array();
for($i = 0; $i <= $maxVal; $i++)
{
$countArr[$i] = 0;
}
for($i = 0; $i < count($arr); $i++)
{
$countArr[$arr[$i]]++;
}
$order = array();
for($i = 0; $i < count($countArr); $i++)
{
for($j = 0; $j < $countArr[$i]; $j++)
{
$order[] = $i;
}
}
return $order;
}
$arrr = [1,22,333,45,5,8888,9999,0,9,7,8]
print_r(sortArrFun($arrr1));