`

对象数组按照对象某一字段排序的方法

    博客分类:
  • php
 
阅读更多

不错的方法,做个记录.

比如我现在有一个对象{person:{"name":"goodman","age":18...}}

有一个数组 personList,其中元素是Person对象.

现在需要将这些对象按照age排序.调用下面的方法:

 

 

function(personList,'age','desc','num');
 

-------------------------------------------------------------------------------------------------------------------------

    /**
     *  php:sorted object in array according to a object's field.
     * 
     * @param array $List
     * @param var $by sort filed
     * @param var $order desc/asc
     * @param var $type sort type(num/string)
     * @return array
     */
    function ArraySort(array $List, $by, $order='', $type='') {
        if (empty($List))
            return $List;
        foreach ($List as $key => $row) {
            //    $sortby[$key] = $row[$by] ;
            $sortby[$key] = $row->$by;
        }
        if ($order == "DESC") {
            if ($type == "num") {
                array_multisort($sortby, SORT_DESC, SORT_NUMERIC, $List);
            } else {
                array_multisort($sortby, SORT_DESC, SORT_STRING, $List);
            }
        } else {
            if ($type == "num") {
                array_multisort($sortby, SORT_ASC, SORT_NUMERIC, $List);
            } else {
                array_multisort($sortby, SORT_ASC, SORT_STRING, $List);
            }
        }
        return $List;
    }
 
分享到:
评论

相关推荐

    JAVA 对象数组按照多个属性进行排序

    在Java编程中,对象数组排序是一项常见的任务,特别是在处理复杂数据结构时。当我们需要根据对象的多个属性进行排序时,情况会变得稍微复杂。本文将深入探讨如何在Java中实现这个功能,结合给出的标签“源码”和...

    js对象数组按属性快速排序

    按所推荐的程序在IE下跑了下,的确,排序耗时很小。 代码如下: [removed] /* * 洗牌 */ function getRandomPlayCard(m){ var array1=new Array(m); for(var i=0;i<m;i++){ var rnd=Math.floor(Math.random()*(i+0...

    纯js对象数组排序汇总处理类

    js中包含一个类,该类的主要功能是:对对象数组进行多字段排序和汇总。调用方法类似: 1、排序 :new SPArraySortHelper(数据, 分组排序字段, 汇总字段).sort() 2、汇总:new SPArraySortHelper(数据, 分组排序字段,...

    C#实现对二维数组排序的方法

    在实际应用中,这个方法可以广泛应用于数据分析、报表生成或其他需要按特定字段排序表格数据的场景。通过这种方式,开发者可以轻松地对二维数组进行排序,而无需手动实现复杂的比较逻辑。 总结来说,本文介绍的C#...

    JS根据json数组多个字段排序及json数组常用操作

    在`sortByArr`函数中,比较函数遍历`attr`数组,检查每个字段的值,根据字段值进行比较并返回一个用于排序的数字。 例如,假设我们有以下JSON数组: ```javascript var persons = [ {name: "tina", age: 14}, {...

    JS实现根据数组对象的某一属性排序操作示例

    首先,要实现数组对象根据属性的排序,我们可以使用数组的`sort()`方法。`sort()`方法接受一个比较函数,该函数用于决定数组元素的排序方式。比较函数本身接收两个参数,通常命名为`a`和`b`,代表数组中的两个元素。...

    vue 根据数组中某一项的值进行排序的方法

    本文将详细介绍如何在Vue中根据数组中某一项的值进行排序。 一、基本概念 在JavaScript中,数组有一个内置的`sort()`方法,它可以接受一个比较函数作为参数,用于自定义排序规则。Vue中的数据响应性机制允许我们在...

    jssort:JavaScript排序方法,将按给定数组中对象的多个字段进行排序

    jsSort v0.0.5 jsSort是一种通用的排序方法,可以通过多个属性对对象数组进行排序。概述jsSort的公共API归结为一个名为sortByMultiple的方法。 此方法采用两个参数,每个参数都是数组。 sequence :要排序的数组。 ...

    js 根据对象数组中的属性进行排序实现代码

    总结起来,JavaScript提供了强大的数组排序功能,能够根据对象数组的属性进行排序。通过自定义比较函数,我们可以灵活地控制排序的依据和顺序,这在处理复杂数据结构时非常有用。了解这些技巧对于JavaScript开发者来...

    JavaScript对象数组如何按指定属性和排序方向进行排序

    单字段排序局限性较大,不能满足用户对数据的关注点变化的需求,而多字段排序就可以较好的弥补这个缺陷。 多字段排序,实现的方式从大的层面上可以分为后端实现和前端实现。 后端排序 后端实现排序可以在数据库层面...

    JS实现:数组中的json对象,按某个字段来进行字母排序.pdf

    本文将详细讲解如何使用JavaScript实现对数组中的JSON对象按某个字段进行字母排序,并提供一个具体的示例函数。 首先,我们要了解`Array.prototype.sort()`方法。这是JavaScript内置的数组排序方法,它接受一个可选...

    Faltu用Mongo风格进行搜索排序过滤和限定一个对象数组

    "Faltu"在这里可能指的是一个模仿MongoDB查询风格的JavaScript库或者一种编程方法,它允许开发者以MongoDB的查询方式处理JavaScript对象数组。 MongoDB查询语法的核心在于其查询表达式,这些表达式可以用来筛选、...

    C# List OrderBy 动态多字段排序

    本篇文章将深入探讨如何在C#中使用`OrderBy`方法进行动态多字段排序。 首先,了解`OrderBy`的基本用法。`OrderBy`方法接收一个委托作为参数,这个委托定义了排序的规则。在单字段排序中,我们通常使用Lambda表达式...

    Vue 通过公共字段,拼接两个对象数组的实例

    Vue通过公共字段拼接两个对象数组的实例为我们在处理类似问题时提供了一个清晰的范例。该方法不仅适用于工资查询页面,还可以广泛应用于需要在前端合并数据的场景,例如将用户信息与权限信息合并显示等。掌握这种...

    MySort.ts TS通用排序方法

    * 多字段排序示例:Utils.mySort(stoneArr, [["getItemQuality", SortType.OrderUp], ["getItemNum", SortType.OrderUp]]); */ public static mySort(arr: any[], field?: any, sortType = SortType.OrderUp): ...

    js中数组中相同的元素进行整合并创建一个新数组.pdf

    总之,`sortArr`函数提供了一种高效的方法,它不仅可以对数组中的元素进行排序,还可以通过特定属性将具有相同值的对象合并到一起,生成的新数组更便于后续的数据处理和分析。在实际开发中,这种功能可以应用于各种...

    PHP 二维数组根据某个字段排序的具体实现

    此外,`array_multisort`还可以与多个字段一起使用,实现更复杂的排序逻辑,例如先按一个字段排序,再按另一个字段排序。 总结来说,PHP的二维数组排序功能是通过`array_multisort`函数实现的,它允许我们根据数组...

Global site tag (gtag.js) - Google Analytics