Inégalité par valeur et type en PHP
En plus de l'opérateur !=, il existe également
l'opérateur !==, qui prend en compte le type lors de
la comparaison. Examinons les différences entre
eux à l'aide d'exemples.
Supposons que deux nombres 3 soient comparés
à l'aide de l'opérateur !=. Cet opérateur compare
les valeurs pour vérifier qu'elles ne sont PAS égales. Puisque
nos valeurs sont justement égales, alors '-' sera affiché
à l'écran :
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // ceci s'exécutera, car les valeurs sont égales
}
?>
Supposons maintenant qu'une de nos valeurs soit
entre guillemets. Dans ce cas, l'opérateur !=
les considérera toujours comme égales (car la valeur correspond,
et le type n'est pas important pour cet opérateur)
et affichera à nouveau '-' :
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // ceci s'exécutera, car les valeurs sont égales
}
?>
Comparons maintenant deux nombres 3
à l'aide de l'opérateur !==. Lui aussi
les considérera comme égaux et affichera '-' :
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // ceci s'exécutera, car les valeurs sont égales
}
?>
Mais si maintenant on met l'un des trois entre guillemets,
alors l'opérateur !== considérera nos triple
comme inégaux, car, bien que leurs valeurs correspondent,
elles ont des types différents :
<?php
if ('3' !== 3) {
echo '+++'; // ceci s'exécutera, car les valeurs ne sont PAS égales
} else {
echo '---';
}
?>
Sans exécuter le code, déterminez ce qui sera affiché à l'écran :
<?php
$test1 = '3';
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sans exécuter le code, déterminez ce qui sera affiché à l'écran :
<?php
$test1 = '3';
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sans exécuter le code, déterminez ce qui sera affiché à l'écran :
<?php
$test1 = 3;
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sans exécuter le code, déterminez ce qui sera affiché à l'écran :
<?php
$test1 = 3;
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Sans exécuter le code, déterminez ce qui sera affiché à l'écran :
<?php
$test1 = 3;
$test2 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>