php 用array_multisort对二维数组根据某一列排序

<?php
/**
 * 二维数组按某一个字段排序
 **/

 $arr = [
    ['a' => 5],
    ['a' => 1],
    ['a' => 9],
    ['a' => 51],
    ['a' => 15],
    ['a' => 15],
    ['a' => 56],
    ['a' => 5],
 ];

//  $tmp = [];
//  foreach ($arr as $k => $v) {
//      $tmp[$k] = $v['a'];
//  }
//  array_multisort($tmp, SORT_ASC, $arr);
//  var_dump($arr);

 function array_msort(array $arr, $column, $sort = SORT_ASC)
 {
     $tmpArr = array_column($arr, $column);
     array_multisort($tmpArr, $sort, $arr);
     return $arr;
 }

 $result = array_msort($arr, 'a');
 var_dump($result);

 

posted @ 2017-05-12 09:47  fly不起来啊!  阅读(468)  评论(0编辑  收藏  举报