ETA: Я думаю, что мой вопрос нуждается в уточнении. Я не хочу сортировать свои массивы. Я хочу быть уверен, что данный массив, который находится в порядке по определенному критерию, также в порядке по другому критерию. Я сделал графику для иллюстрации. Каждая строка представляет собой массив, упорядоченный по номеру. Если буквы также в порядке, массив проходит тест.
![enter image description here](https://i.stack.imgur.com/bOOE4.png)
Оригинальный вопрос
У меня есть родительский класс PhysicalCount с 2 свойствами: date
, count
. У меня также есть подклассы PhysicalCount: ClutchCount
, FryCount
и MatCount
. Когда у меня есть смешанный массив PhysicalCounts и подклассов, мне нужно проверить (не установлен!), Что порядок соответствует следующим критериям:
- объекты в порядке по
date
- От 0 до 1 объектов каждого дочернего класса могут существовать
- 0 для многих объектов
PhysicalCount
может существовать
- если присутствует
ClutchCount
, он должен иметь более раннюю дату, чем FryCount
или MatCount
, если таковые существуют
- если присутствует
FryCount
, он должен иметь более раннюю дату, чем MatCount
, если он существует
Скинул, вопрос что-то вроде:
Учитывая список, отсортированный по одному критерию ($o->date
в моем случае), каков наиболее эффективный способ установить, что сортировка этого же списка по другому критерию (get_class($o)
в моем случае) приведет к тому же порядку?
Я бы предпочел решение на PHP, но я думаю, что это довольно распространенная проблема, у которой есть стандартное решение, имя которого я просто не знаю. (Здесь я сожалею о своем выборе степени [не CS]).