PHP二维数组排序 array_multisort

1.根据二维数组中的某一列按升序或者降序排列

不需要遍历数组就可以对二维数组排序

// 1.构造数组
$data = [
	['a'=>23,'b'=>'hhhh','c'=>'2013-12-23'],
	['a'=>26,'b'=>'hkkk','c'=>'2013-12-26'],
	['a'=>20,'b'=>'565','c'=>'2013-12-28'],
	['a'=>29,'b'=>'fhj','c'=>'2013-11-23'],
	['a'=>10,'b'=>'fffff','c'=>'2013-12-24'],
];

// 2.取‘a’列数据进行升序排列
array_multisort(array_column($data, 'a'),SORT_ASC,$data);

var_dump($data);

// 3.输出结果
array(5) {
  [0]=>
  array(3) {
    ["a"]=>
    int(10)
    ["b"]=>
    string(5) "fffff"
    ["c"]=>
    string(10) "2013-12-24"
  }
  [1]=>
  array(3) {
    ["a"]=>
    int(20)
    ["b"]=>
    string(3) "565"
    ["c"]=>
    string(10) "2013-12-28"
  }
  [2]=>
  array(3) {
    ["a"]=>
    int(23)
    ["b"]=>
    string(4) "hhhh"
    ["c"]=>
    string(10) "2013-12-23"
  }
  [3]=>
  array(3) {
    ["a"]=>
    int(26)
    ["b"]=>
    string(4) "hkkk"
    ["c"]=>
    string(10) "2013-12-26"
  }
  [4]=>
  array(3) {
    ["a"]=>
    int(29)
    ["b"]=>
    string(3) "fhj"
    ["c"]=>
    string(10) "2013-11-23"
  }
}

 更多用法请参照官方文档:
http://www.php.net/manual/zh/function.array-multisort.php

原文地址:https://www.cnblogs.com/brady-wang/p/14912168.html