Spaceship operator to nowy twór dodany w PHP7.
Działanie
Jest to operator porównania zwracający -1, 0, 1:
<?php
$a = 1;
$b = 2;
echo $a <=> $b; // -1
$a = 2;
echo $a <=> $b; // 0
$a = 3;
echo $a <=> $b; // 1
Zastosowanie
Głównym i chyba najczęstszym miejscem w którym go użyjemy jest funkcja usort()
:
<?php
// Standardowe użycie usort()
$a = [1,4,7,3,2,6,7];
usort($a, function($a, $b){
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
});
// Spaceship operator
$a = [1,4,7,3,2,6,7];
usort($a, function($a, $b){
return $a <=> $b;
});
Czy ma inne zastosowanie? Pewnie tak, ale jeszcze nie spotkałem potrzeby. Więc jeśli ktoś ma jakieś ciekawe przykłady to zapraszam do kontaktu i uzupełnienia treści.
Więcej na: php.net operators