У меня есть объект, который примерно так:Возможно ли сортировать объекты по нескольким свойствам с помощью usort в PHP?
<?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
- "Critical", "Высокий", "Средний", "Low", *Prop3
- алфавитный