$tmparr = ['name'='dddd','name'=>'aaaaa','name'=>'ddd','name'=>'cccc'];
使用 :sortArr($tmpArr,'name');
这样可以将二维数组按指定的KEY排序。但这样的话是两个函数比较麻烦。想合成一个。
function sortArr(&$tmpArr, $key, $asc = true) {
usort($tmpArr,sortArr2($key,$asc));
}
function sortArr2($key, $asc = true) {
$res = function($a, $b) use ($key, $asc) {
return $asc ? strcmp($a[$key], $b[$key]) : strcmp($b[$key], $a[$key]);
};
return $res;
}
function sortArr(&$tmpArr1, $key1, $asc1 = true) {
$fun = function ($key, $asc = true) use ($key1, $asc1) {
$res = function($a, $b) use ($key, $asc) {
return $asc ? strcmp($a[$key], $b[$key]) : strcmp($b[$key], $a[$key]);
};
return $res;
}
usort($tmpArr,fun2($key,$asc));
}