Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
pessoal as vzs vejo por ae === e !==
só pra confirma
se eu fizer
assim
return $obj1->getId() === $obj2->getId()
e os 2 ids forem = eu recebo uma resposta verdadeira caso contrário recebo uma resposta falsa correto?
mesma coisa para o !== mas claro de forma negada...
estou certo?
O sinal de === significa Idêntico, verdadeiro (TRUE) se $a é igual a $b, e eles são do mesmo tipo.
$a = 1;
$b = 1;
var_dump( $a === $b ); // true
var_dump( $a == $b ); // true
$a = 1;
$b = '1';
var_dump( $a === $b ); // false
var_dump( $a == $b ); // true
O sinal de !== significa Não Idêntico, verdadeiro (TRUE) se $a não é igual a $b, e eles não são do mesmo tipo.
$a = 1;
$b = 1;
var_dump( $a !== $b ); // false
var_dump( $a != $b ); // false
$a = 1;
$b = '1';
var_dump( $a !== $b ); // true
var_dump( $a != $b ); // false
:seta: Comparison Operators
era exatamente isso q eu precisava. muito obrigado
Sim, quanto ao retorno está correto. Tanto funciona com 2 (==) ou 3 (===) iguais na comparação, sempre retornará um booleano.
Mas não considere apenas iguais, quando usado 3 iguais (===), considere idênticos.
Com apenas 2 iguais (==) é considerado apenas o valor. Com 3 iguais são considerados valor e tipo.
Como o cast type do PHP é de forma automática, o que segue abaixo é igual, mas não idêntico:
Todas as comparações acima serão verdadeiras, pois são considerados valores iguais, mas não são idênticos. Coloque 3 iguais (===) e todos os retornos serão falsos.