二维数组排序
public function sortArrByField(&$array, $field, $desc = false)
{
$fieldArr = array();
foreach ($array as $k => $v) {
$fieldArr[$k] = $v[$field];
}
$sort = $desc == false ? SORT_ASC : SORT_DESC;
array_multisort($fieldArr, $sort, $array);
return $array;
}
一维数组排序 (保留键值)
public function sort_with_keyName($arr, $orderby = 'desc')
{
$new_array = array();
$new_sort = array();
foreach ($arr as $key => $value) {
$new_array[] = $value;
}
if ($orderby == 'asc') {
asort($new_array);
} else {
arsort($new_array);
}
foreach ($new_array as $k => $v) {
foreach ($arr as $key => $value) {
if ($v == $value) {
$new_sort[$key] = $value;
unset($arr[$key]);
break;
}
}
}
return $new_sort;
}