Оператор spaceship <=> в PHP используется для сравнения двух значений и возврата результата. Этот оператор возвращает -1, если левый операнд меньше правого; 0, если они равны; и 1, если левый операнд больше правого.
$result = $a <=> $b;
1. Сортировка массива чисел
$numbers = [ 3, 1, 4, 1, 5, 9 ]; usort( $numbers, function( $a, $b ){ return $a <=> $b; });
2. Сортировка массива объектов по свойству
class Person { public $age; public function __construct( $age ) { $this->age = $age; } } $people = [ new Person(35), new Person(20), new Person(50) ]; usort( $people, function( $a, $b ){ return $a->age <=> $b->age; });
3. Определение знака разности двух чисел
$a = 5; $b = 7; $sign = $a <=> $b; // Вернёт -1, потому что $a < $b