Negriežtas loginių reikšmių palyginimas PHP

Ankstesniame pavyzdyje palyginimui naudojau operatorių ===. Šiuo atveju mūsų kintamasis būdų lyginamas su true kaip pagal reikšmę, taip ir pagal tipą.

Mūsų uždavinyje galima naudoti ir operatorių ==. Jei kintamajame test visada bus viena iš reikšmių true arba false, tai niekas ir nepasikeis:

php<?php
  $test = true; // čia rašome arba true, arba false
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>

O jei į kintamąjį $test gali patekti bet kokios reikšmės, tai viskas tampa daug sudėtingesnė. Tokiu atveju, jei kintamajame bus ne loginė reikšmė, tai ši reikšmė pirmiausia bus konvertuojama į loginę ir tik tada bus lyginama.

Tarkime, pavyzdžiui, mūsų kintamajame bus skaičius 1. Šiuo atveju jis pirmiausia bus konvertuojamas į loginį tipą, tai yra į true. Ir tada bus atliktas palyginimas:

php<?php
  $test = 1;
  
  if ($test == true) {
    echo '+++'; // suveiks tai, nes 1 == true - tai teisinga
  } else {
    echo '---';
  }
?>

O, pavyzdžiui, skaičius 0 konvertuojasi į false. Ir mūsų sąlyga dėl to bus klaidinga:

php<?php
  $test = 0;
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---'; // suveiks tai, nes 0 == true - tai NEteisinga
  }
?>
Задание 1

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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