0

「オフセット」値に基づいてこの配列をソートする最も効率的な方法は何ですか?

Array
(
    [0] => stdClass Object
        (
            [day] => 12
            [month] => 2
            [year] => 2013
            [start] => 12:30pm
            [end] => 3:00pm
            [timestamp] => 2013-02-12 15:00:00
            [id] => 2147483647
            [offset] => -6595200
        )

    [1] => stdClass Object
        (
            [day] => 4
            [month] => 5
            [year] => 2013
            [start] => 4:00pm
            [end] => 5:00pm
            [timestamp] => 2013-05-04 17:00:00
            [id] => 538154873
            [offset] => 406800
        )

    [2] => stdClass Object
        (
            [day] => 12
            [month] => 5
            [year] => 2013
            [start] => 7:00am
            [end] => 10:30am
            [timestamp] => 2013-05-12 10:30:00
            [id] => 1738975402
            [offset] => 1074600
        )

最小の「オフセット」値を持つ配列から項目を返したいと思います。

usort()良いオプションですか?配列とオブジェクトが混在している場合、それはどのように機能しますか?

ありがとう!

4

1 に答える 1

4

並べ替えているものが配列である限り、問題ありません。できるよ

usort ($array , function($a, $b) { 
   if ($a->offset == $b->offset) {
     return 0;
   }
   return ($a->offset < $b->offset) ? -1 : 1;
});
于 2013-05-01T03:27:37.460 に答える