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