Пусть существует массив объектов следующего вида:
Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [name] => Name_1
            [primaryImage] => 25a322150a51fe077b196c8cd3d6275d1.jpg
        )
    [1] => stdClass Object
        (
            [id] => 2
            [name] => Name_2
            [primaryImage] => 
        )
    [2] => stdClass Object
        (
            [id] => 3
            [name] => Name_3
            [primaryImage] => b2ddf5b9cfd80f8896256ca90bac43963.jpg
            [today] => 1
        )
Необходимо отсортировать так, чтобы вначале шли объекты:
- [today] и [primaryImage]
 
- [primaryImage]
 
- [today]
 
- Все остальные
 
В данный момент через 
array_multisort() получилось отсортировать только по 
[today] и 
[primaryImage] и [today]. По 
[primaryImage] пересортировывается второй результат. Как быть?