加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php对二维数组进行排序 php数据排序 php排序

发布时间:2022-11-11 10:54:20 所属栏目:PHP教程 来源:
导读:  php对一维数组排序自带函数就有很多

  PHP - 数组的排序函数

  sort() - 以升序对数组排序
  rsort() - 以降序对数组排序
  asort() - 根据值,以升序对关联数组进行排序
  ksort() - 根据
  php对一维数组排序自带函数就有很多
 
  PHP - 数组的排序函数
 
  sort() - 以升序对数组排序
  rsort() - 以降序对数组排序
  asort() - 根据值,以升序对关联数组进行排序
  ksort() - 根据键,以升序对关联数组进行排序
  arsort() - 根据值,以降序对关联数组进行排序
  krsort() - 根据键,以降序对关联数组进行排序
  但是,对于二维数组没有目前函数可以直接解决
 
  可以利用下面二个函数对二维数组以某个字段排序
 
  1.array_column() 返回输入数组中某个单一列的值。
 
  PHP数组排序_php数组排序键值不变_php多维数组排序函数
 
  2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序PHP数组排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
 
  php数组排序键值不变_PHP数组排序_php多维数组排序函数
 
  代码实现(根据 num字段从高到低):
 
  数组未排序:
 
  array(12) {
    [0]=>
    array(2) {
      ["name"]=>
      string(9) "司徒镇"
      ["num"]=>
      float(57.6)
    }
    [1]=>
    array(2) {
      ["name"]=>
      string(9) "延陵镇"
      ["num"]=>
      float(46.9)
    }
    [2]=>
    array(2) {
      ["name"]=>
      string(9) "珥陵镇"
      ["num"]=>
      float(25.5)
    }
    [3]=>
    array(2) {
      ["name"]=>
      string(9) "导墅镇"
      ["num"]=>
      float(36.9)
    }
    [4]=>
    array(2) {
      ["name"]=>
      string(9) "黄塘镇"
      ["num"]=>
      float(64.9)
    }
    [5]=>
    array(2) {
      ["name"]=>
      string(9) "吕城镇"
      ["num"]=>
      float(38.6)
    }
    [6]=>
    array(2) {
      ["name"]=>
      string(9) "陵口镇"
      ["num"]=>
      float(25.5)
    }
    [7]=>
    array(2) {
      ["name"]=>
      string(9) "访仙镇"
      ["num"]=>
      float(32)
    }
    [8]=>
    array(2) {
      ["name"]=>
      string(9) "界牌镇"
      ["num"]=>
      float(58.5)
    }
    [9]=>
    array(2) {
      ["name"]=>
      string(9) "丹北镇"
      ["num"]=>
      float(230.3)
    }
    [10]=>
    array(2) {
      ["name"]=>
      string(12) "云阳街道"
      ["num"]=>
      float(209.7)
    }
    [11]=>
    array(2) {
      ["name"]=>
      string(12) "曲阿街道"
      ["num"]=>
      float(319.1)
    }
  }
  代码实现($data['data']上面代码源数据):
 
  //根据字段num对数组$data进行降序排列
  $all_num = array_column($data['data'],'num');
  array_multisort($all_num,SORT_DESC,$data['data']);
  结果:
 
  array(12) {
    [0]=>
    array(2) {
      ["name"]=>
      string(12) "曲阿街道"
      ["num"]=>
      float(319.1)
    }
    [1]=>
    array(2) {
      ["name"]=>
      string(9) "丹北镇"
      ["num"]=>
      float(230.3)
    }
    [2]=>
    array(2) {
      ["name"]=>
      string(12) "云阳街道"
      ["num"]=>
      float(209.7)
    }
    [3]=>
    array(2) {
      ["name"]=>
      string(9) "黄塘镇"
      ["num"]=>
      float(64.9)
    }
    [4]=>
    array(2) {
      ["name"]=>
      string(9) "界牌镇"
      ["num"]=>
      float(58.5)
    }
    [5]=>
    array(2) {
      ["name"]=>
      string(9) "司徒镇"
      ["num"]=>
      float(57.6)
    }
    [6]=>
    array(2) {
      ["name"]=>
      string(9) "延陵镇"
      ["num"]=>
      float(46.9)
    }
    [7]=>
    array(2) {
      ["name"]=>
      string(9) "吕城镇"
      ["num"]=>
      float(38.6)
    }
    [8]=>
    array(2) {
      ["name"]=>
      string(9) "导墅镇"
      ["num"]=>
      float(36.9)
    }
    [9]=>
    array(2) {
      ["name"]=>
      string(9) "访仙镇"
      ["num"]=>
      float(32)
    }
    [10]=>
    array(2) {
      ["name"]=>
      string(9) "珥陵镇"
      ["num"]=>
      float(25.5)
    }
    [11]=>
    array(2) {
      ["name"]=>
      string(9) "陵口镇"
      ["num"]=>
      float(25.5)
    }
  }
  完美解决 奈斯
 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!