Operadores de Comparação: ==, ===, !=, !==, <>, >, >=, <, <=

Neste guia definitivo você vai dominar: A lógica por trás de todos os operadores de comparação do PHP, como evitar bugs de segurança com o uso correto de ===, e conhecerá o moderno operador Spaceship para ordenação de dados.

Como funcionam os operadores de comparação no PHP?

Os operadores de comparação servem para analisar dois valores e retornar um resultado booleano (verdadeiro ou falso). Atualmente, a boa prática de programação exige que você entenda não apenas a igualdade de valores (==), mas principalmente a identidade de tipos (===), para evitar que o PHP converta dados automaticamente de forma insegura em suas aplicações.

Para começarmos a criar inteligência em nossos scripts, conheça a lista completa:

  1. == (Igual)
  2. === (Idêntico - Recomendado)
  3. != ou <> (Diferente)
  4. !== (Não idêntico)
  5. >, <, >=, <= (Magnitude)
  6. <=> (Spaceship - O operador moderno)

Operador de igual a (==) vs. Idêntico (===)

Essa é a maior "pegadinha" do PHP. O operador == faz o que chamamos de Type Juggling (malabarismo de tipos). Se você comparar uma string com um número, o PHP tentará converter os dois para que eles se tornem iguais.


<?php 
 // O PHP diz que isso é verdadeiro porque ele converte a string para número antes de comparar
 echo 3 == "3"; // Resultado: 1 (TRUE)
?>

Por que usar o Idêntico (===)?
Em sistemas de segurança ou financeiros, você não quer que o PHP "adivinhe". O operador idêntico verifica se o valor e o tipo de dado são exatamente os mesmos. Atualmente, é a escolha padrão de programadores seniores.


<?php 
 echo 3 === "3"; // Resultado: FALSE (vazio), pois um é inteiro e outro é string.
?>

🚀 Quer acelerar seu aprendizado?

A lógica de comparação pode ser confusa no início. Nossa Apostila PHP Progressivo contém centenas de exercícios práticos para fixar esse conteúdo de vez.

BAIXAR AGORA →

Diferença e Não-Identidade (!= vs !==)

Seguindo a mesma lógica, o != (ou <>) verifica se os valores são diferentes. Já o !== garante que eles sejam diferentes inclusive no tipo.


<?php 
 echo 0 != "0";  // FALSE (o PHP acha que são iguais)
 echo 0 !== "0"; // TRUE (são diferentes, pois um é número e outro é texto)
?>

🌟 Bônus Moderno: O Operador Spaceship (<=>)

Introduzido nas versões mais recentes do PHP, o operador "Nave Espacial" é uma mão na roda para quem precisa ordenar listas. Em vez de retornar apenas TRUE ou FALSE, ele retorna três valores possíveis:

  • 0: Se os valores forem iguais.
  • 1: Se o valor da esquerda for maior.
  • -1: Se o valor da direita for maior.

<?php 
 echo 1 <=> 1; // 0
 echo 2 <=> 1; // 1
 echo 1 <=> 2; // -1
?>

💡 Dica de programador: Use isso em funções de ordenação como usort() para deixar seu código muito mais elegante e rápido.


Comparação de Magnitude (Maior e Menor)

Estes operadores funcionam exatamente como na matemática clássica. São essenciais para validar idades, preços e limites de estoque.

Símbolo O que o PHP entende?
>$a é estritamente MAIOR que $b?
>=$a é MAIOR OU IGUAL a $b?
<$a é estritamente MENOR que $b?
<=$a é MENOR OU IGUAL a $b?

🛠️ Curiosidade Técnica:

O PHP permite comparar strings alfabeticamente usando esses operadores. Por exemplo, "a" < "b" retornará verdadeiro. Isso é muito útil para criar filtros de busca alfabética!

Fonte: Manual Oficial do PHP

Nenhum comentário:

Veja também: