Нестрого поређење логичких вредности у 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 '---';
  }
?>