怎么用PHP实现二维数组按照键值排序

在开发过程中,我们常常需要对二维数组按照数组的某个键来排序,这里提供两个封装好的方法,可以放到公共函数模块里以后需要的时候直接调用即可。

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。

以下是具体代码:

/**
* 二维数组按照键值降序排序
* @param array $arr 待排序数组
* @param string $key 键值
* @return mixed
*/
function sortByKeyDesc($arr, $key) {

array_multisort(array_column($arr, $key), SORT_DESC, $arr);
return $arr;

}

/**
* 二维数组按照键值升序排序
* @param array $arr 待排序数组
* @param string $key 键值
* @return mixed
*/
function sortByKeyAsc($arr, $key) {

array_multisort(array_column($arr, $key), SORT_ASC, $arr);
return $arr;

}
$arr = [
['name' => 'itbsl', 'priority' => 23],
['name' => 'jack', 'priority' => 3],
['name' => 'rose', 'priority' => 12],
['name' => 'pick', 'priority' => 45],
['name' => 'binbin', 'priority' => 68],
['name' => 'didi', 'priority' => 56789],
['name' => 'mobike', 'priority' => 0],
];

//把数组arr按照priority的值降序(从大到小)排序
$result = sortByKeyDesc($arr, 'priority');
赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » 怎么用PHP实现二维数组按照键值排序

登录

找回密码

注册