根据对象属性对对象数组进行排序


Sorting an array of objects depending on object attribute

我有一个由对象组成的数组。

[
    {
        "name" => "First",
        "order" => 5
    },
    {
        "name" => "Second",
        "order" => 3
    },
    {
        "name" => "Third",
        "order" => 9
]

如何通过升序排序?

我应该得到:

[
    {
        "name" => "Second",
        "order" => 3
    },
    {
        "name" => "First",
        "order" => 5
    },
    {
        "name" => "Third",
        "order" => 9
];

您应该能够对数组使用这样的PHP usort()函数:

usort($array, function($a, $b){return $a["order"]-$b["order"];});

或对象:

usort($array, function($a, $b){return $a->order-$b->order;});

以下是PHP参考:usort()