//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,0是升序,1是降序
function array_sort ($arr, $keys, $order = 0)
{
if (!is_array($arr)) {
return false;
}
//1、获取所有指定列的值,且保持原有key;
$keysvalue = array();
foreach ($arr as $key => $val) {
$keysvalue[$key] = $val[$keys];
}
//2、对获取的指定列的值进行排序,且保持原有key
if ($order == 0) {
asort($keysvalue);
} else {
arsort($keysvalue);
}
reset($keysvalue);
//3、获取重排后的数组的key
foreach ($keysvalue as $key => $vals) {
$keysort[$key] = $key;
}
//4、重置原有数组
$new_array = array();
foreach ($keysort as $key => $val) {
$new_array[] = $arr[$val];
}
return $new_array;
}
$data = array_sort($data, 'updatetime', 1); |