gpt4 book ai didi

php自定义排序uasort函数示例【二维数组按指定键值排序】

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php自定义排序uasort函数示例【二维数组按指定键值排序】由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了php自定义排序uasort函数。分享给大家供大家参考,具体如下:

项目需要风险排序,按 I(安全)<L(低风险)<M(中风险)<H(高风险) 的级别来排序 。

由于H排在I的前面,所以不能直接用sort来排序,要自定义.

用uasort()函数来自定义排序:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
  * 二维数组按指定键值排须
  */
function arr_sort( $array , $key , $order = "asc" ){ //asc是升序 desc是降序//按 I<L<M<H 排序
   $arr_nums = $arr = array ();
   foreach ( $array as $k => $v ){
     $arr_nums [ $k ]= $v [ $key ];
   }
   if ( $order == 'asc' ){
     uasort( $arr_nums , 'my_sort_asc' );
   } else {
     uasort( $arr_nums , 'my_sort_desc' );
   }
   foreach ( $arr_nums as $k => $v ){
     $arr [ $k ]= $array [ $k ];
   }
   return $arr ;
}
function my_sort_desc( $a , $b ){
   if ( $a == $b ) return 0;
   if ( $a == 'I' && $b != 'I' ) return 1;
   if ( $a == 'L' && $b != 'I' ) return 1;
   if ( $a == 'L' && $b == 'I' ) return -1;
   if ( $a == 'M' && $b != 'H' ) return -1;
   if ( $a == 'M' && $b == 'H' ) return 1;
   if ( $a == 'H' && $b != 'H' ) return -1;
}
function my_sort_asc( $a , $b ){
   if ( $a == $b ) return 0;
   if ( $a == 'I' && $b != 'I' ) return -1;
   if ( $a == 'L' && $b != 'I' ) return -1;
   if ( $a == 'L' && $b == 'I' ) return 1;
   if ( $a == 'M' && $b != 'H' ) return 1;
   if ( $a == 'M' && $b == 'H' ) return -1;
   if ( $a == 'H' && $b != 'H' ) return 1;
}

希望本文所述对大家PHP程序设计有所帮助.

原文链接:https://blog.csdn.net/ltx06/article/details/54947944 。

最后此篇关于php自定义排序uasort函数示例【二维数组按指定键值排序】的文章就讲到这里了,如果你想了解更多关于php自定义排序uasort函数示例【二维数组按指定键值排序】的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com