Php 按内部值对多维数组排序

Php 按内部值对多维数组排序,php,arrays,sorting,Php,Arrays,Sorting,我想使用PHP函数按状态对数组进行排序。我该怎么办 以下是该阵列的一个示例: Array ( [0] => stdClass Object ( [status_id] => 4 [status_content] => {"text":"DET VIRKER JO IKKE!!!! ### >"} [status_likes] => [status

我想使用PHP函数按状态对数组进行排序。我该怎么办

以下是该阵列的一个示例:

Array
(
    [0] => stdClass Object
        (
            [status_id] => 4
            [status_content] => {"text":"DET VIRKER JO IKKE!!!! ### >"}
            [status_likes] => 
            [status_dislikes] => 
            [status_owner] => 20
        )

    [1] => stdClass Object
        (
            [status_id] => 2
            [status_content] => {"yt_vid":"Hb3MWuZT_W0","text":"Det her er jo bare awesome!!!"}
            [status_likes] => 
            [status_dislikes] => 
            [status_owner] => 20
        )

    [2] => stdClass Object
        (
            [status_id] => 8
            [status_content] => {"text":"Hej"}
            [status_likes] => 
            [status_dislikes] => 
            [status_owner] => 1
        )

    [3] => stdClass Object
        (
            [status_id] => 7
            [status_content] => {"text":"ff"}
            [status_likes] => 
            [status_dislikes] => 
            [status_owner] => 1
        )

    [4] => stdClass Object
        (
            [status_id] => 6
            [status_content] => {"text":"h"}
            [status_likes] => 
            [status_dislikes] => 
            [status_owner] => 1
        )

    [5] => stdClass Object
        (
            [status_id] => 5
            [status_content] => {"text":""}
            [status_likes] => 
            [status_dislikes] => 
            [status_owner] => 1
        )

    [6] => stdClass Object
        (
            [status_id] => 3
            [status_content] => {"yt_vid":"PSLDZVh1Vtw","text":"This is really funny"}
            [status_likes] => 
            [status_dislikes] => 
            [status_owner] => 1
        )

    [7] => stdClass Object
        (
            [status_id] => 1
            [status_content] => {"text":"This works, great! huh?"}
            [status_likes] => 
            [status_dislikes] => 
            [status_owner] => 1
        )

)

您需要使用数组\多排序

首先循环获取一个简单的数组,其中包含toy希望根据状态id进行排序的所有项目,然后将该变量与要在数组中进行排序的数组一起使用。\u multisort

一个选项是与自定义排序函数一起使用。下面是一个小函数,它将根据某些属性名称为您构建一个闭包:

function buildSorter($key) {
    return function ($a, $b) use ($key) { return strnatcmp($a->$key, $b->$key); };
}
使用此功能,您可以:

usort($data, buildSorter('status_content'));


同样轻松。

谢谢你的帮助!我知道,通过仔细观察,我终于找到了答案

看一看

usort$r,函数$a,$b{ 返回$a['status_id']-$b['status_id'];
};

您必须阅读上一个问题的顶部答案之外的内容,以获得专门适用于您的问题的信息,因为顶部答案似乎是允许我演示几种排序算法在PHP中的实现。
usort($data, buildSorter('status_owner'));