PHP 7

Operador de comparação combinada no PHP 7 (Spaceship)

Por em

Vamos aprender neste artigo, como utilizar o novo operador de comparação combinada introduzido no PHP 7 (mais conhecido como spaceship), similar as funções strcmp() e version_compare(), porém podendo ser utilizado com qualquer valor do PHP.

Veja abaixo a sintaxe do operador:

Onde (exp) é substituído por valores que serão usados na comparação, vejamos abaixo um exemplo real:

Muito bom! Mas porque a comparação acima retornou um -1? Muito simples, a lógica do resultado é a seguinte:

  • Se ambas expressões forem igual, então retorna 0;
  • Se a expressão da esquerda for maior, então retorna 1;
  • Se a expressão da direita for maior, então retorna -1;

Para compreendermos melhor, vamos aplicar isso no código, vejam os exemplos abaixo:

Vamos avançar um pouco mais e criar uma função para comparar dois números, porém queremos que a função não apenas compare se é maior, mas também compare se são iguais, ou menor. Anteriormente ao PHP 7 utilizávamos o operador ternário, como o exemplo abaixo:

Com o novo operador do PHP 7, podemos fazer algo do tipo:

Percebam que com o uso deste operador nossa função fica mais “clean”.

Pessoal chegamos ao final deste artigo, espero que gostem, um forte abraço e até a próxima!