Pra quem ainda não está familiarizado com esse novo operador do PHP7, o spaceship
, eis um resumo de sua funcionalidade: ele serve pra comparar dois valores, e saber se o primeiro operando é menor, igual ou maior que o segundo. Ou seja, ele junta os operadores <
, ==
e >
num só, formando <=>
. Vejamos como seria fazer essas três comparações sem esse operador:
if ($a < $b) { echo 'A é menor que B'; } elseif ($a == $b) { echo 'A é igual a B'; } elseif ($a > $b) { echo 'A é maior que B'; } |
Agora, vejamos usando do operador spaceship:
switch ($a <=> $b) { case -1: echo 'A é menor que B'; break; case 0: echo 'A é igual a B'; break; case 1: echo 'A é maior que B'; break; } |
Ou seja, o operador retorna “menos um” (-1) quando o primeiro operando é menor que o segundo, “zero” (0) quando é igual e “um” (1) quando é maior que o segundo operando. Parece algo muito simples, mas pode nos poupar muitos “ifs”, e linhas extras na codificação, e ajudar a manter o código mais enxuto e legível.