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<?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<?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<?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<?php
  if ('3' !== 3) {
    echo '+++'; // ceci s'exécutera, car les valeurs ne sont PAS égales
  } else {
    echo '---';
  }
?>
Задание 1

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

php<?php
  $test1 = '3';
  $test2 = '3';
    
  if ($test1 != $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 2

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

php<?php
  $test1 = '3';
  $test2 = '3';
    
  if ($test1 !== $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 3

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

php<?php
  $test1 = 3;
  $test2 = '3';
    
  if ($test1 != $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 4

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

php<?php
  $test1 = 3;
  $test2 = '3';
    
  if ($test1 !== $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 5

Sans exécuter le code, déterminez ce qui sera affiché à l'écran :

php<?php
  $test1 = 3;
  $test2 = 2;
    
  if ($test1 !== $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>