$arr = array(3,55,45,2,67,76,6.7,-65,85,4); function quickSort($arr){ if (count($arr) <= 1){ return $arr; } $left_arr = array(); $right_arr = array(); $firstVal = $arr[0]; for ( $i = 1;$i<count($arr);$i++ ){ if ($arr[$i] <= $firstVal){ $left_arr[] = $arr[$i]; }else{ $right_arr[] = $arr[$i]; } } return array_merge(quickSort($left_arr),array($firstVal),quickSort($right_arr)); } $new_arr = quickSort($arr); echo "<pre>";print_r($new_arr); exit;