博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP的数组排序函数
阅读量:5828 次
发布时间:2019-06-18

本文共 2681 字,大约阅读时间需要 8 分钟。

'460646', 'deskName' => '房间1', 'userCount' => '2', 'miniGold' => '100', ), array ( 'deskId' => '460647', 'deskName' => '房间2', 'userCount' => '1', 'miniGold' => '100', ) ); * @param string $order_by 根据哪个字段排序,如多个字段,用逗号隔开,有先后顺序。 * 例如:userCount:desc,serverPort,miniGold:asc * 冒号前:数组字段,冒号后:排序规则(排序规则不用区分大小写) * 如排序规则未填,默认DESC * */ function quick_sort($arr=array(),$order_by=NULL){ $order_arr = array(); $type_arr = array(); if(count($arr)<=1) return $arr;//如果个数不大于一,直接返回 if(is_string($order_by)){ $order_arr = explode(',', $order_by); if(is_array($order_arr)){ foreach ($order_arr as $k=>$v){ $o_arr = explode(':', $v); $order_arr[$k] = isset($o_arr[0])?$o_arr[0]:'desc'; $type_arr[$k] = isset($o_arr[1])?$o_arr[1]:'desc'; } }else{ exit('param format error!'); } } $left_arr=array(); $right_arr=array(); for($i=1;$i
$t_val){ $type = strtolower($t_val); $order_by = $order_arr[$t_key]; $key=$arr[0][$order_by]; if($type == 'asc'){ //从小到大 if($arr[$i][$order_by]<$key){ $left_arr[]=$arr[$i];break; }else if($arr[$i][$order_by]>$key){ $right_arr[]=$arr[$i];break; }else{ if($cnt == $t_key+1){ //最后的排序未符合规则 $right_arr[]=$arr[$i]; } continue; } }else{ //从大到小 if($arr[$i][$order_by]>$key){ $left_arr[]=$arr[$i];break; }else if($arr[$i][$order_by]<$key){ $right_arr[]=$arr[$i];break; }else{ if($cnt == $t_key+1){ //最后的排序未符合规则 $left_arr[]=$arr[$i]; } continue; } } } } $left_arr = $this->quick_sort($left_arr,$order_by,$type); $right_arr = $this->quick_sort($right_arr,$order_by,$type); return array_merge($left_arr,array($arr[0]),$right_arr); }}

redis取出的数据是数组,但是需要排序,所以今天搞出一个对数组排序的函数。

转载于:https://www.cnblogs.com/eric-gao/p/3374629.html

你可能感兴趣的文章
python conv2d scipy卷积运算
查看>>
Apache Spark 章节1
查看>>
容器监控解决方案对比
查看>>
phpcms与discuz的ucenter整合
查看>>
UILabel 的属性(用法)方法
查看>>
第二次博客作业
查看>>
【BZOJ1703】奶牛排名
查看>>
sql Escape用法
查看>>
日期format
查看>>
Linux crontab定时执行任务
查看>>
JUnit编写单元测试代码注意点小结
查看>>
UVA 146 ID Codes
查看>>
Quartus使用Verilog设计计数器步骤全解
查看>>
mysql root密码重置
查看>>
33蛇形填数
查看>>
我为Net狂 ~ 社交平台系列小集合!
查看>>
Windows API一日一练(66)CreateWaitableTimer和SetWaitableTimer函数
查看>>
中秋节
查看>>
选择排序
查看>>
wpf datagrid 遍历行
查看>>