php 二维数组排序比较 2 —— 快速排序法 分类: php 二维数组排序 快速排序 2014-06-24 11:39 190人阅读 评论(0) 收藏
方法函数
function quick_sort($sort,$arr,$type = 'asc'){//默认为正序排列 $len = count($arr); if($len <= 1) { return $arr; } $key = $arr[0]; $key_sort = $sort[0]; $arr_left = array(); $sort_left = array(); $arr_right = array(); $sort_right = array(); for ($i=1;$i<$len;$i++) { if($type = 'desc'){//倒序排列 if($arr[$i] >= $key){ $arr_left[] = $arr[$i]; $sort_left [] = $sort[$i]; }else{ $arr_right[] = $arr[$i]; $sort_right [] = $sort[$i]; } }else{//正序排列 if($arr[$i] <= $key){ $arr_left[] = $arr[$i]; $sort_left [] = $sort[$i]; }else{ $arr_right[] = $arr[$i]; $sort_right [] = $sort[$i]; } } } $arr_left = quick_sort($arr_left,$sort_left,$type); $arr_right = quick_sort($arr_right,$sort_right,$type); return array_merge($sort_left,array($key_sort),$sort_right); }
调用方法函数
$a = Array(); foreach($sort as $key=>$val){ $a[] = $val['created_at']; } var_dump(quick_sort($sort,$a,'asc'));//正序排列 //var_dump(quick_sort($sort,$a,'desc'));//倒序排列
版权声明:本文为博主原创文章,未经博主允许不得转载。