根据二维数组的某个键对整个数组排序

函数

function quickArr($arr, $key, $sort = true)
{
	$volume = array();
	foreach ($arr as $k => $v) {
	    $volume[$k]  = $v[$key];
	}
	if($sort){
		array_multisort($volume, SORT_ASC,  $arr);
	} else {
		array_multisort($volume, SORT_DESC,  $arr);
	}
	return $arr;		
}

使用

我们创建一个无序数组,根据键名’k’从小到大排序

//创建一个无序数组
$arr = array();
for($i = 0; $i < 10; ++$i)
{
	$arr[] = array('k'=>mt_rand(10, 9999));
}
dump(quickArr($arr, 'k'));

输出

array(10) {
  [0]=>
  array(1) {
    ["k"]=>
    int(47)
  }
  [1]=>
  array(1) {
    ["k"]=>
    int(1519)
  }
  [2]=>
  array(1) {
    ["k"]=>
    int(1850)
  }
  [3]=>
  array(1) {
    ["k"]=>
    int(2945)
  }
...