Usando o operador spaceship do PHP7
7 years ago by Jaime NetoPra 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.