按对象字段对象数组进行排序

按对象字段对象数组进行排序

我如何按照它的一个字段对这个对象数组进行排序,例如namecount ?

  Array(
    [0] => stdClass Object
        (
            [ID] => 1
            [name] => Mary Jane
            [count] => 420
        )

    [1] => stdClass Object
        (
            [ID] => 2
            [name] => Johnny
            [count] => 234
        )

    [2] => stdClass Object
        (
            [ID] => 3
            [name] => Kathy
            [count] => 4354
        )

   ....


狐的传说
浏览 684回答 3
3回答

一只甜甜圈

使用乌斯托,下面是从手册中改编的一个示例:function cmp($a, $b){     return strcmp($a->name, $b->name);}usort($your_data, "cmp");从评论中导入的编辑:如果要从类和排序函数中对数组进行排序cmp也是在类中定义的,然后使用以下命令:usort($your_data, array($this, "cmp"))

jeck猫

下面是一种更好的使用闭包的方法usort($your_data, function($a, $b){     return strcmp($a->name, $b->name);});请注意,这不是PHP文档中的内容,但是如果您使用5.3+闭包,则可以在其中提供可调用的参数。

千万里不及你

如果使用的是php OOP,则可能需要更改为:public static function cmp($a, $b) {     return strcmp($a->name, $b->name);}//in this case FUNCTION_NAME would be cmpusort($your_data, array('YOUR_CLASS_NAME','FUNCTION_NAME'));
打开App,查看更多内容
随时随地看视频慕课网APP