美文网首页
PHP实现根据数组某个键值大小进行排序的方法

PHP实现根据数组某个键值大小进行排序的方法

作者: elileo | 来源:发表于2019-08-01 23:05 被阅读0次

    //a是排序数组,b是要排序的数据集合,$result是最终结果

    $b = array(
      array('name'=>'北京','nums'=>'200'),
      array('name'=>'上海','nums'=>'80'),
      array('name'=>'广州','nums'=>'150'),
      array('name'=>'深圳','nums'=>'70')
      );
    $a = array();
    foreach($b as $key=>$val){
      $a[] = $val['nums'];//这里要注意$val['nums']不能为空,不然后面会出问题
    }
    //$a先排序
    rsort($a);
    $a = array_flip($a);
    $result = array();
    foreach($b as $k=>$v){
      $temp1 = $v['nums'];
      $temp2 = $a[$temp1];
      $result[$temp2] = $v;
    }
    

    //这里还要把$result进行排序,健的位置不对

    ksort($result);
    

    //然后就是你想看到的结果了

    var_dump($result);
    

    运行结果:

    array(4) {
     [0]=>
     array(2) {
      ["name"]=>
      string(4) "北京"
      ["nums"]=>
      string(3) "200"
     }
     [1]=>
     array(2) {
      ["name"]=>
      string(4) "广州"
      ["nums"]=>
      string(3) "150"
     }
     [2]=>
     array(2) {
      ["name"]=>
      string(4) "上海"
      ["nums"]=>
      string(2) "80"
     }
     [3]=>
     array(2) {
      ["name"]=>
      string(4) "深圳"
      ["nums"]=>
      string(2) "70"
     }
    }
    

    相关文章

      网友评论

          本文标题:PHP实现根据数组某个键值大小进行排序的方法

          本文链接:https://www.haomeiwen.com/subject/zlvhdctx.html