1. 程式人生 > >PHP 根據物件屬性進行物件陣列的排序

PHP 根據物件屬性進行物件陣列的排序

Question
How can I sort this array of objects by one of its fields, like name or count ?

  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 ) ....

Answer :
Use usort, here’s an example adapted from the manual:

function cmp
($a, $b) {
return strcmp($a->name, $b->name); } usort($your_data, "cmp");

edits imported from comments:

If you’re sorting the array from inside the class and your sorting function cmp is also defined inside the class, then use this:

usort($your_data, array($this, "cmp"))

參考: