PHP

PHP: Comparando string numérica com número

Ao comparar qualquer string não numérica com um número, o resultado dependerá do contexto e do operador de comparação utilizado.

Igualdade (==):
Se você usar o operador de igualdade (==) para comparar uma string não numérica com um número, o PHP tentará converter a string em um número antes de fazer a comparação.

Exemplo:

$string = "abc";
$numero = 123;
 
if ($string == $numero) {
    echo "As strings são iguais.";
} else {
    echo "As strings não são iguais.";
}

Neste caso, a string “abc” será convertida para 0 (zero), e a comparação será entre 0 e 123. Portanto, o resultado será “As strings não são iguais.”

Identidade (===):
Se você usar o operador de identidade (===), o PHP não fará a conversão de tipo. Ele verificará se os valores e os tipos são idênticos.

Exemplo:

$string = "abc";
$numero = 123;
 
if ($string === $numero) {
    echo "As strings são idênticas.";
} else {
    echo "As strings não são idênticas.";
}

Neste caso, como os tipos são diferentes (string e int), o resultado será “As strings não são idênticas.”

A partir da versão 8.0.0 ocorrem melhorias, clique aqui para saber mais.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *