У меня есть объект, который выглядит примерно так:
<?php
class Change {
private $prop1, $prop2, $prop3;
public function __construct($prop1, $prop2, $prop3) {
$this->$prop1=$prop1;
$this->$prop2=$prop2;
$this->$prop3=$prop3;
}
public function getProp1() {
return $this->prop1;
}
public function getProp2() {
return $this->prop2;
}
public function getProp3() {
return $this->prop3;
}
}
?>
Я удалил некоторые детали, но в основном это объекты. Прямо сейчас я хочу отсортировать объекты с prop1
, не равным NULL
вверху, а затем отсортировать по конкретным значениям для prop2
. Prop2
может быть равно «Высокому», «Среднему», «Низкому», «Критическому» или любому другому значению, которое вводит пользователь. Я хочу отсортировать их в следующем порядке: критические, высокие, средние, низкие и все остальное. Наконец, я хочу отсортировать prop3
по алфавиту.
Возможно ли это сделать с usort? Есть ли более простой способ?
Порядок сортировки:
Prop1
- НеNULL
Prop2
- "Критический", "Высокий", "Средний", "Низкий", *Prop3
- Алфавитный