<?php  
set_time_limit(0);  
function quickSort($arr) {  
    if (count($arr) > 1) { // 只判断
数组长度大于1的情况  
        $k = $arr[0]; // 默认参照对象为数组第一个对象  
        $x = array(); // 比参照小的  
        $y = array(); // 比参照大的  
        $_size = count($arr);  
        for ($i = 1; $i < $_size; $i++) {  
            if ($arr[$i] <= $k) {  
                $x[] = $arr[$i];  
            } else {  
                $y[] = $arr[$i];  
            }  
        }  
        // 分别对两侧数组进行递归排列  
        $x = quickSort($x);  
        $y = quickSort($y);  
        return array_merge($x, array($k), $y);  
    } else {  
        return $arr;  
    }  
}  
$test_array = array();  
$n = 0;  
//测试一个30万条的记录  
while(++$n<=300000){  
    $test_array[$n] = $n;  
}  
echo 'Array init!<br/>';  
shuffle($test_array); // 打乱顺序  
echo 'Array shuffled<br/>';  
echo date( 'Y-m-d H:m:s').'<br/>';  
$res = quickSort($test_array);  
echo date('Y-m-d H:m:s');  
?>