Нестрого сравнение на логически стойности в PHP

В предишния пример използвах за сравнение оператора ===. В този случай нашата променлива се сравняваше за равенство true както по стойност, така и по тип.

В нашата задача може да се използва и операторът ==. Ако в променливата test винаги има една от стойностите true или false, то нищо няма да се промени:

php<?php
  $test = true; // тук пишем или true, или false
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>

Но ако в променливата $test могат да попадат всякакви стойности, тогава всичко става много по-сложно. В такъв случай, ако в променливата има небулева стойност, то тази стойност първо ще бъде преобразувана към булев тип и едва тогава ще бъде сравнена.

Нека, например, в нашата променлива има числото 1. В този случай то първо ще бъде преобразувано към логически тип, тоест към true. И след това ще се извърши сравнението:

php<?php
  $test = 1;
  
  if ($test == true) {
    echo '+++'; // ще се изпълни това, защото 1 == true е вярно
  } else {
    echo '---';
  }
?>

А ето, например, числото 0 се преобразува към false. И нашето условие в резултат ще бъде невярно:

php<?php
  $test = 0;
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---'; // ще се изпълни това, защото 0 == true е НЕвярно
  }
?>
Задание 1

Без да пускате кода, определете какво ще се изведе на екрана:

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

Без да пускате кода, определете какво ще се изведе на екрана:

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

Без да пускате кода, определете какво ще се изведе на екрана:

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

Без да пускате кода, определете какво ще се изведе на екрана:

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

Без да пускате кода, определете какво ще се изведе на екрана:

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

Без да пускате кода, определете какво ще се изведе на екрана:

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