Все заметкиВсе заметкиВсе заметки

Быстрая сортировка массива по внешнему списку в PHP

#backend #php #lifehack

Иногда возникает необходимость отсортировать массив объектов или массив значений на основе списка значений, хранящегося в другом массиве.

Рассмотрим пример, когда эталонная последовательность идентификаторов, по которой должны быть отсортированы элементы массива $items, хранится в переменной $orders.

Очевидное решение, которое приходит в голову, — алгоритм на основе цикла, который содержит в себе дополнительные условные проверки и переменные для промежуточного хранения результата.

Для получения более оптимального и красивого решения задачи такой специфической сортировки мы воспользовались несколькими стандартными PHP-функциями для работы с массивами.

В алгоритме предусмотрено решение сопутствующей проблемы, когда набор сортируемых ключей массива $items может не полностью включать в себя значения массива $orders. Итоговый массив фильтруется по callback-функции, которая проверяет тип значений результирующего массива.

Поэкспериментировать с работой алгоритма можно в «песочнице».

Chulakov Dev

29 января 2021  •  Скопировать ссылкуСсылка скопирована

Следующая заметкаТрейты в PHP — зло? Наш взгляд на проблему
  • Копировать ссылку
  • Telegram
  • Vkontakte
  • Поделиться