У меня есть массив объектов, который выглядит следующим образом, обратите внимание, что они уже упорядочены create_time через MYSQL:
array (size=5)
0 =>
object(stdClass)[38]
public 'vacancy_id' => int 5
public 'title' => string 'test title' (length=10)
public 'create_time' => string '2018-10-05 11:15:34' (length=19)
public 'language_iso' => string 'NL' (length=2)
1 =>
object(stdClass)[42]
public 'vacancy_id' => int 9
public 'title' => string 'test title 5' (length=12)
public 'create_time' => string '2018-08-05 11:15:34' (length=19)
public 'language_iso' => string 'EN' (length=2)
2 =>
object(stdClass)[40]
public 'vacancy_id' => int 7
public 'title' => string 'test title 3' (length=12)
public 'create_time' => string '2018-08-05 11:15:34' (length=19)
public 'language_iso' => string 'FR' (length=2)
3 =>
object(stdClass)[39]
public 'vacancy_id' => int 6
public 'title' => string 'test title 2' (length=12)
public 'create_time' => string '2018-06-05 11:15:34' (length=19)
public 'language_iso' => string 'FR' (length=2)
4 =>
object(stdClass)[41]
public 'vacancy_id' => int 8
public 'title' => string 'test title 4' (length=12)
public 'create_time' => string '2018-02-05 11:15:34' (length=19)
public 'language_iso' => string 'NL' (length=2)
На моей странице я реализую функцию сортировки. Есть (на данный момент) 4 варианта сортировки:
- By create_time (это также сортировка по умолчанию, как в MySQL. И я всегда хочу сохранить эту сортировку).
- По языку NL iso
- По языку FR iso
- По языку EN iso
В приведенном выше примере массива, скажем, я хочу отсортировать по "FRязык iso ". Это означает, что я хочу, чтобы мой набор результатов выглядел следующим образом:
array (size=5)
0 =>
object(stdClass)[40]
public 'vacancy_id' => int 7
public 'title' => string 'test title 3' (length=12)
public 'create_time' => string '2018-08-05 11:15:34' (length=19)
public 'language_iso' => string 'FR' (length=2)
1 =>
object(stdClass)[39]
public 'vacancy_id' => int 6
public 'title' => string 'test title 2' (length=12)
public 'create_time' => string '2018-06-05 11:15:34' (length=19)
public 'language_iso' => string 'FR' (length=2)
2 =>
object(stdClass)[38]
public 'vacancy_id' => int 5
public 'title' => string 'test title' (length=10)
public 'create_time' => string '2018-10-05 11:15:34' (length=19)
public 'language_iso' => string 'NL' (length=2)
3 =>
object(stdClass)[42]
public 'vacancy_id' => int 9
public 'title' => string 'test title 5' (length=12)
public 'create_time' => string '2018-08-05 11:15:34' (length=19)
public 'language_iso' => string 'EN' (length=2)
4 =>
object(stdClass)[41]
public 'vacancy_id' => int 8
public 'title' => string 'test title 4' (length=12)
public 'create_time' => string '2018-02-05 11:15:34' (length=19)
public 'language_iso' => string 'NL' (length=2)
Так что в этом примере результат должен содержать:
- Результаты с FR language_iso сверху, но все жевнутри них, отсортированные по create_time
- Результаты с language_iso EN и NL попадают под результаты FR, но также и внутри них, отсортированные по create_time
Я полностью запустил пустое использованиеПользовательская функция в usp-функции php.