资讯专栏INFORMATION COLUMN

PHP二维数组排序

jackwang / 1591人阅读

摘要:二维数组根据某个字段排序功能按照用户的年龄倒序排序张三李四王五赵六黄七排序顺序标志降序升序排序字段输出结果黄七李四张三赵六王五

 1,  
            "name" => "张三",  
            "age"  => 25,  
    ),  
    array(  
            "id"   => 2,  
            "name" => "李四",  
            "age"  => 23,  
    ),  
    array(  
            "id"   => 3,  
            "name" => "王五",  
            "age"  => 40,  
    ),  
    array(  
            "id"   => 4,  
            "name" => "赵六",  
            "age"  => 31,  
    ),  
    array(  
            "id"   => 5,  
            "name" => "黄七",  
            "age"  => 20,  
    ),  
);   
  
  
$sort = array(  
        "direction" => "SORT_DESC", //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序  
        "field"     => "age",       //排序字段  
);  
$arrSort = array();  
foreach($arrUsers AS $uniqid => $row){  
    foreach($row AS $key=>$value){  
        $arrSort[$key][$uniqid] = $value;  
    }  
}  
if($sort["direction"]){  
    array_multisort($arrSort[$sort["field"]], constant($sort["direction"]), $arrUsers);  
}  
  
var_dump($arrUsers);  
  
/* 
输出结果: 
 
array (size=5) 
  0 =>  
    array (size=3) 
      "id" => int 5 
      "name" => string "黄七" (length=6) 
      "age" => int 20 
  1 =>  
    array (size=3) 
      "id" => int 2 
      "name" => string "李四" (length=6) 
      "age" => int 23 
  2 =>  
    array (size=3) 
      "id" => int 1 
      "name" => string "张三" (length=6) 
      "age" => int 25 
  3 =>  
    array (size=3) 
      "id" => int 4 
      "name" => string "赵六" (length=6) 
      "age" => int 31 
  4 =>  
    array (size=3) 
      "id" => int 3 
      "name" => string "王五" (length=6) 
      "age" => int 40 
 
*/  

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22804.html

相关文章

  • php 二维数组排序

    摘要:前提给定一个二维数组,请根据指定的数组写出最优的排序。排序条件,指定数组如下估计大家都没有什么问题,排序嘛,简单的不要不要的方式一这应该是最简单的方式了,直接使用现成的函数,快捷的不要不要的。 前提 给定一个二维数组,请根据指定的数组key,写出最优的排序。排序条件age asc,sex desc,指定数组如下: $arr = [ [id=>1, age=>1,...

    ashe 评论0 收藏0
  • php二维数组排序

    摘要:数组的排序,如果是一维的,那肯定相信大家都没问题。但是如果数组是二维的呢其实问题也不大毕竟大法好但是我想给大家介绍的是自己内置的一个函数就是他下面,请看一个例子某一个需要排序的神秘排序具体实现排序过程,还请小伙伴们自行脑补 数组的排序,如果是一维的,那肯定相信大家都没问题。但是如果数组是二维的呢?其实问题也不大 showImg(https://segmentfault.com/img/...

    baukh789 评论0 收藏0
  • 一个简单的给二维数组按照某个字段的值进行排序的算法

    摘要:之前看到一道面试题,大概意思是尽可能的写出来给二维数组按照某个字段值排序的功能比如说是下面数组结构按照年龄对用户进行排序大家第一眼感觉应该是用循环,然后用冒泡排序之类的去计算但这一道题显然不是去考察大众都能想到的它应该是想考一下求职者对基本 之前看到一道面试题,大概意思是尽可能的写出来给二维数组按照某个字段值排序的功能;比如说是下面数组结构: $users = [ [name ...

    Bmob 评论0 收藏0
  • php二维数组指定其键名对其排序的方法

    安利个小李子先

    laoLiueizo 评论0 收藏0
  • PHP二维数组根据二维键名去重算法

    摘要:需求现在有下面一组二维数组青叶我是青叶合肥男足球棒球需要将处于第二维键名为,其值相同的数组的合并形成一个新的数组。 需求 现在有下面一组二维数组: array(8) { [0]=> array(2) { [name]=> string(4) name [value]=> string(6) 青叶 } [1]=> array(2) { ...

    KnewOne 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<