Desigualdade por valor e tipo em PHP
Além do operador !=, existe também
o operador !==, que considera o tipo
na comparação. Vamos examinar as diferenças entre
eles com exemplos.
Suponha que dois números 3 sejam comparados
usando o operador !=. Este operador compara
os valores para verificar se NÃO são iguais. Como
nossos valores são de fato iguais, será exibido
'-' na tela:
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // isso será executado, pois os valores são iguais
}
?>
Suponha que agora um de nossos valores esteja
entre aspas. Neste caso, o operador !=
ainda os considerará iguais (pois o valor coincide,
e o tipo não é importante para este operador)
e exibirá '-' novamente:
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // isso será executado, pois os valores são iguais
}
?>
Vamos agora comparar dois números 3
usando o operador !==. Ele também
os considerará iguais e exibirá '-':
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // isso será executado, pois os valores são iguais
}
?>
Mas se agora colocarmos um dos '3' entre aspas,
o operador !== considerará nossos '3'
como diferentes, pois, embora seus valores coincidam,
eles têm tipos diferentes:
<?php
if ('3' !== 3) {
echo '+++'; // isso será executado, pois os valores NÃO são iguais
} else {
echo '---';
}
?>
Sem executar o código, determine o que será exibido na tela:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sem executar o código, determine o que será exibido na tela:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sem executar o código, determine o que será exibido na tela:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sem executar o código, determine o que será exibido na tela:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sem executar o código, determine o que será exibido na tela:
<?php
$test1 = 3;
$test2 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>