Что делает <=>?
Он сравнивает два значения и возвращает:
| Сравнение | Возвращает |
|---|---|
$a < $b | -1 |
$a == $b | 0 |
$a > $b | 1 |
Это очень удобно, когда нужно отдать результат сравнения, как в usort(), uasort() и других функциях.
Примеры:
echo 3 <=> 5; // -1
echo 10 <=> 10; // 0
echo 20 <=> 7; // 1
С usort():
$numbers = [3, 7, 1, 9];
usort($numbers, function($a, $b) {
return $a <=> $b;
});
Альтернатива:
Без <=> пришлось бы писать:
if ($a < $b) return -1;
if ($a > $b) return 1;
return 0;