• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php自定义排序uasort函数示例【二维数组按指定键值排序】

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

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

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

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

    /*
     * 二维数组按指定键值排须
     */
    function arr_sort($array,$key,$order="asc"){//asc是升序 desc是降序//按 ILMH 排序
      $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;
    }
    
    

    PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

    在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
    http://tools.jb51.net/aideddesign/paixu_ys

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结》

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

    您可能感兴趣的文章:
    • php对二维数组按指定键值key排序示例代码
    • php数组实现根据某个键值将相同键值合并生成新二维数组的方法
    • PHP二维数组实现去除重复项的方法【保留各个键值】
    • PHP按指定键值对二维数组进行排序的方法
    • php二维数组按某个键值排序的实例讲解
    • php二维数组用键名分组相加实例函数
    • 详解PHP 二维数组排序保持键名不变
    • PHP实现二维数组按指定的键名排序的方法示例
    • PHP实现通过二维数组键值获取一维键名操作示例
    上一篇:windows 2008r2+php5.6.28环境搭建详细过程
    下一篇:yii2 在控制器中验证请求参数的使用方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

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