class algorithm{
/**
* 对二维数组中某个值进行排序,并返回排序后的数组
* @param array $arr 需要比较的二维数组
* @param string $keys 需要比较的数组键名
* @param intval $order 排序方式,1-升序,2-倒序
* @return array 返回排序后的数组
*/
public function array_sort(array $arr,$keys,$order=1){
//usort 使用用户自定义的比较函数对数组中的元素进行排序
usort($arr,function($a,$b) use ($order,$keys){
if ($a[$keys] == $b[$keys]) {
return 0;
} else {
if($order ==1) {
return $a[$keys] < $b[$keys] ? -1 : 1;
} else {
return $a[$keys] > $b[$keys] ? -1 : 1;
}
}
});
return $arr;
}
}
$algorithm = new algorithm();
$arr = array(
array('name'=>'jkr','age'=>32),
array('name'=>'xiaoxiao','age'=>18),
array('name'=>'hmg','age'=>60),
array('name'=>'jhz','age'=>14),
array('name'=>'jkp','age'=>22),
array('name'=>'yiyi','age'=>18)
);
$new = $algorithm->array_sort($arr,'age',2);
print_r($new);
php二维数组指定列排序
最新推荐文章于 2026-05-08 14:07:22 发布
文章介绍了如何使用PHP的usort函数,通过自定义比较函数对二维数组按照给定键(如age)进行排序,支持升序和降序操作。示例代码展示了如何根据年龄对人员列表进行降序排列。

367

被折叠的 条评论
为什么被折叠?



