Сортировка массива на основе значения дочернего объекта

Каков наиболее эффективный способ сортировки этого массива на основе значения «offset»?

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() хорошим вариантом? Как это работает, когда массивы и объекты смешиваются?

Благодаря!