我们在处理二维数组的时候会用到数组排序,无法通过过sql进行排序,针对数据量不是很大,并且简单的排序方式:
用到的关键php函数:
array_column、
array_multisort
可以通过这两个函数实现二维数组根据指定key对应的值进行升序或降序排序;
代码:
举个例子,二维数组根据实际场景自行定义
把二维数组根据每个人成绩,降序排序,根据成绩,区分前三名;
下面根据指定key 【total】进行降序排序
使用PHP 函数array_column ,将要进行排序的key取出转为一维数组
对二维数组排序,使用PHP函数 array_multisort
参数一:我们准备好的一维数组($arr)
参数二:排序方式SORT_DESC(降序)
参数三:要排序的二维数组($array)
全部代码:
$array = [ [ 'total' => 88, 'name' => '小明' ], [ 'total' => 70, 'name' => '小红' ], [ 'total' => 100, 'name' => '小亮' ], [ 'total' => 66, 'name' => '小刚' ], ]; $arr = array_column($array, 'total'); array_multisort($arr, SORT_DESC, $array); var_dump($array);
排序前后对比