Diferença entre os operadores de comparação == e === em PHP
-
Compare um valor inteiro e um valor de ponto flutuante com o operador de comparação duplo (
==
) e triplo (===
) igual em PHP -
Compare um valor inteiro e um valor booleano com o operador de comparação duplo (
==
) e triplo (===
) igual em PHP - Compare um valor inteiro e um valor de string com o operador de comparação duplo e triplo igual
Este artigo irá apresentar a diferença entre os operadores de comparação duplos iguais ==
e triplos iguais ===
em PHP. A diferença significativa é que o operador de comparação double equals compara o valor dos dois operandos. Em contraste, o operador de comparação triplo igual a comparar o valor e o tipo dos operandos.
Apresentaremos um método para diferenciar o operador de comparação duplo igual e triplo igual, comparando um valor inteiro e um valor de ponto flutuante. Usaremos o operador ternário como declaração condicional.
O segundo método compara o operador de comparação duplo igual e triplo igual a um número inteiro e um valor booleano. Também usaremos o operador ternário neste método.
Também demonstraremos a comparação de um valor inteiro e uma string usando double equals e o operador de comparação triplo igual. Usaremos a função var_dump()
para descartar a comparação neste método.
Compare um valor inteiro e um valor de ponto flutuante com o operador de comparação duplo (==
) e triplo (===
) igual em PHP
Podemos comparar os dois mesmos valores de tipos diferentes usando os operadores de comparação. Este método compara um número inteiro e um ponto flutuante com o mesmo valor. Podemos usar o operador ternário para comparar os operandos e a função var_dump()
para despejar seus valores booleanos.
Por exemplo, crie uma variável $a
e armazene o valor inteiro 5
nela. Armazene um valor de ponto flutuante 5.0
em outra variável $b
. Compare as duas variáveis com o operador de comparação triplo usando o operador ternário. O valor verdadeiro retorna true
e o valor falso retorna false
no operador ternário. Armazene a operação na variável $c
. Da mesma forma, compare as duas variáveis com operador duplo igual ao operador ternário e armazene a operação na variável $d
. Use as funções var_dump()
nas variáveis $c
e $d
.
A saída do exemplo de código retorna o valor false
para o operador triplo igual e o valor true
para o operador duplo igual. O valor 5
é do tipo inteiro e o valor 5.0
é do tipo flutuante, embora o valor seja o mesmo. Portanto, o operador triplo igual retorna um valor falso e o operador duplo retorna um valor verdadeiro.
Código de exemplo:
#php 7.x
<?php
$a = 5;
$b = 5.0;
$c = $a===$b ? true : false;
$d = $a==$b ? true : false;
var_dump($c);
var_dump($d);
?>
Resultado:
bool(false) bool(true)
Compare um valor inteiro e um valor booleano com o operador de comparação duplo (==
) e triplo (===
) igual em PHP
Este método compara um valor inteiro 1
e o valor booleano true
. O valor inteiro 1
denota o valor verdadeiro. Podemos usar o operador ternário como no primeiro método. Por exemplo, armazene o valor inteiro 1
em uma variável $a
. Crie outra variável $b
e armazene um valor booleano true
nela. Use o operador ternário para comparar essas duas variáveis como no primeiro método. Compare as variáveis com o operador de comparação duplo igual e triplo igual. Armazene os resultados nas variáveis $c
e $d
e use as funções var_dump()
para despejar essas variáveis.
A variável $c
retorna o valor falso, e o valor $d
retorna o valor verdadeiro. Como o operador triplo igual a compara o tipo dos operandos, é óbvio que o tipo 1
e true
não corresponde. Mas, o valor 1
é o valor verdadeiro, então seu valor é igual ao valor booleano true
.
Código de exemplo:
#php 7.x
<?php
$a = 1;
$b = true;
$c = $a===$b ? true : false;
$d = $a==$b ? true : false;
var_dump($c);
var_dump($d);
?>
Resultado:
bool(false) bool(true)
Compare um valor inteiro e um valor de string com o operador de comparação duplo e triplo igual
Podemos comparar os operandos diretamente na função var_dump()
para ver o resultado da comparação. Este método é o método abreviado dos métodos que usam os operadores ternários. A ilustração abaixo compara um valor inteiro e um valor de string usando o operador de comparação triplo igual e duplo igual.
Por exemplo, crie uma variável $a
e armazene o valor inteiro 5
nela. Armazene um valor de string '5'
em outra variável $b
. Compare essas duas variáveis primeiro usando o operador de comparação triplo igual e, em seguida, usando o operador duplo igual. Envolva essas comparações dentro das funções var_dump()
.
A primeira comparação resulta em um valor falso. A segunda comparação retorna o valor verdadeiro. O tipo das duas variáveis não corresponde, portanto, resulta em um valor falso. O valor da string 5
é convertido em um valor inteiro, e o valor para ambas as variáveis será o mesmo. No entanto, o tipo das variáveis não muda.
Código de exemplo:
#php 7.x
<?php
$a = 5;
$b = '5';
var_dump($a===$b);
var_dump($a==$b);
?>
Resultado:
bool(false) bool(true)
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn