Spaceship operator <=>
Glossary overview

Spaceship operator <=>

Что делает <=>?

Он сравнивает два значения и возвращает:

СравнениеВозвращает
$a < $b-1
$a == $b0
$a > $b1

Это очень удобно, когда нужно отдать результат сравнения, как в 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;