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二维数组指定列排序
最新推荐文章于 2024-07-20 09:21:06 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)