Comparaison non stricte des valeurs booléennes en PHP

Dans l'exemple précédent, j'ai utilisé pour la comparaison l'opérateur ===. Dans ce cas, notre variable était comparée à l'égalité de true à la fois en valeur et en type.

Dans notre problème, on peut aussi utiliser l'opérateur ==. Si la variable test contient toujours soit la valeur true soit false, alors rien ne changera :

php<?php
  $test = true; // on écrit ici soit true, soit false
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>

Mais si la variable $test peut contenir n'importe quelle valeur, alors tout devient beaucoup plus complexe. Dans un tel cas, si la variable ne contient pas une valeur booléenne, cette valeur sera d'abord convertie en booléen et seulement ensuite sera comparée.

Supposons, par exemple, que notre variable contienne le nombre 1. Dans ce cas, il sera d'abord converti en type booléen, c'est-à-dire en true. Et ensuite, la comparaison sera effectuée :

php<?php
  $test = 1;
  
  if ($test == true) {
    echo '+++'; // cela va s'exécuter, car 1 == true est correct
  } else {
    echo '---';
  }
?>

Mais, par exemple, le nombre 0 se convertit en false. Et notre condition sera par conséquent fausse :

php<?php
  $test = 0;
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---'; // cela va s'exécuter, car 0 == true est incorrect
  }
?>
Задание 1

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

php<?php
  $test = 1;
    
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 2

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

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

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

php<?php
  $test = 1;
    
  if ($test == false) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 4

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

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

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

php<?php
  $test = '';
    
  if ($test == false) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 6

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

php<?php
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>