根据二维数组中的某个字段进行排序

简介: 根据二维数组中的某个字段进行排序

首先了解下以下两个函数:

1.array_column() 返回输入数组中某个单一列的值。

 

2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多

个值相同,它将对下一个数组进行排序。

具体实现代码实例:


<?php
$data = array(
  array(
    'id' => 5698,
    'first_name' => 'Bill',
    'last_name' => 'Gates',
  ),
  array(
    'id' => 4767,
    'first_name' => 'Steve',
    'last_name' => 'Aobs',
  ),
  array(
    'id' => 3809,
    'first_name' => 'Mark',
    'last_name' => 'Zuckerberg',
  )
);
//根据字段last_name对数组$data进行降序排列
$last_names = array_column($data,'last_name');
array_multisort($last_names,SORT_DESC,$data);
var_dump($data);
?>

2.方法

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

 

目录
相关文章
|
算法
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
109 0
|
1月前
|
算法
巧用二维数组进行编号排序以及创建新数组排序编号和一个杨辉三角的实现
巧用二维数组进行编号排序以及创建新数组排序编号和一个杨辉三角的实现
59 1
练习>>在二维数组中找出最大数,并输出行,列
练习>>在二维数组中找出最大数,并输出行,列
109 0
sort()排序以及多个属性数组对象排序(按条件排序)
sort()排序以及多个属性数组对象排序(按条件排序)
106 0
|
索引
labview数组数据一维数组二维数组索引行列元素替换子数组排序
labview数组数据一维数组二维数组索引行列元素替换子数组排序
243 0
1、 在一个排序的二维数组中,查找某个整数
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
81 0
AcWing 744. 数组中的列
AcWing 744. 数组中的列
64 0
AcWing 744. 数组中的列