A logikai értékek nem szigorú összehasonlítása a PHP-ban

Az előző példában az összehasonlításhoz a === operátort használtam. Ebben az esetben a változónk egyenlőségét hasonlította össze a true értékkel érték és típus szerint is.

A feladatunkban használhatjuk a == operátort is. Ha a test változóban mindig a true vagy a false értékek egyike lesz, akkor semmi sem változik:

php<?php
  $test = true; // ide írunk vagy true-t, vagy false-t
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>

De ha a $test változóba bármilyen érték bekerülhet, akkor minden sokkal bonyolultabbá válik. Ebben az esetben, ha a változóban nem logikai érték lesz, akkor ez az érték először logikai típusúra lesz konvertálva, és csak azután kerül összehasonlításra.

Tegyük fel például, hogy a változónkban a 1 szám lesz. Ebben az esetben az először logikai típusúra, azaz true értékre lesz konvertálva. És azután végrehajtódik az összehasonlítás:

php<?php
  $test = 1;
  
  if ($test == true) {
    echo '+++'; // ez fog lefutni, mert 1 == true igaz
  } else {
    echo '---';
  }
?>

De például a 0 szám false értékre konvertálódik. És a feltételünk ennek eredményekénten hamis lesz:

php<?php
  $test = 0;
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---'; // ez fog lefutni, mert 0 == true NEM igaz
  }
?>
Задание 1

A kód futtatása nélkül határozd meg, hogy mit ír ki a képernyőre:

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

A kód futtatása nélkül határozd meg, hogy mit ír ki a képernyőre:

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

A kód futtatása nélkül határozd meg, hogy mit ír ki a képernyőre:

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

A kód futtatása nélkül határozd meg, hogy mit ír ki a képernyőre:

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

A kód futtatása nélkül határozd meg, hogy mit ír ki a képernyőre:

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

A kód futtatása nélkül határozd meg, hogy mit ír ki a képernyőre:

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