<?php$arr = array(25,133,452,364,5876,293,607,365,8745,534,18,33);function quick_sort($arr){ // 判断是否需要继续 if (count($arr) <= 1) { return $arr; } $middle = $arr[0]; // 中间值 $left = array(); // 小于中间值 $right = array();// 大于中间值 // 循环比较 for ($i=1; $i < count($arr); $i++) { if ($middle < $arr[$i]) { // 大于中间值 $right[] = $arr[$i]; } else { // 小于中间值 $left[] = $arr[$i]; } } // 递归排序两边 $left = quick_sort($left); $right = quick_sort($right); // 合并排序后的数据,别忘了合并中间值 return array_merge($left, array($middle), $right);}原文:https://www.cnblogs.com/jiaoda/p/11469782.html