Sort multi-dimensional array by specific key

Viewed 53187

I have an array:

Array (
    [0] => stdClass Object (
        [user_id] => 1
        [ID] => 1
        [user_login] => admin
        [display_name] => admin
        [user_email] => webbinformation@nacka.se
        [meta_value] => a:1:{s:13:\"administrator\";s:1:\"1\";}
    )
    [1] => stdClass Object (
        [user_id] => 4
        [ID] => 4
        [user_login] => ungtinflytande
        [display_name] => ungtinflytande
        [user_email] => klarakviberg@gmail.com
        [meta_value] => a:1:{s:13:\"administrator\";s:1:\"1\";}
    )
    [2] => stdClass Object (
        [user_id] => 5
        [ID] => 5
        [user_login] => inflytandepilot
        [display_name] => inflytandepilot
        [user_email] => hildalundgren@hotmail.com
        [meta_value] => a:1:{s:6:\"author\";s:1:\"1\";}
    )
    [3] => stdClass Object (
        [user_id] => 11
        [ID] => 11
        [user_login] => matsbohman
        [display_name] => matsbohman
        [user_email] => mats.bohman@nacka.se
        [meta_value] => a:1:{s:6:\"editor\";s:1:\"1\";}
    )
    [4] => stdClass Object (
        [user_id] => 12
        [ID] => 12
        [user_login] => klarakviberg
        [display_name] => klarakviberg
        [user_email] => nastasteg@nacka.se
        [meta_value] => a:1:{s:13:\"administrator\";s:1:\"1\";}
    )
)

...that I wanna sort by the display_name key. I currently print it like this:

foreach ($blogusers as $bloguser) {
    ...
}

How do I do this?

6 Answers

In case you are stuck with error or your array doesn't sort you can give this a try as this works for me-

usort($blogusers,function ($a, $b)
{
    return strcmp($a["display_name"], $b["display_name"]);
});
Related