Rovnosť podľa hodnoty a typu v PHP

Povedzme, že chcete porovnávať tak, aby číslo v úvodzovkách nebolo rovnaké ako rovnaké číslo bez úvodzoviek. Inými slovami, chcete porovnávať tak, aby porovnanie bolo nielen podľa hodnoty, ale aj podľa typu údajov. Na to namiesto operátora == by ste mali použiť operátor ===. Porovnanie s takýmto operátorom sa nazýva prísne.

Pozrite si príklad:

php<?php
  if ('3' === 3) {
    echo '+++';
  } else {
    echo '---'; // zobrazí sa toto, pretože hodnoty nie sú rovnaké podľa typu
  }
?>

Ale pri porovnávaní dvoch reťazcov '3' sa na obrazovku vypíše '+++':

php<?php
  if ('3' === '3') {
    echo '+++'; // zobrazí sa toto
  } else {
    echo '---';
  }
?>

Rovnako ako pri porovnávaní čísel:

php<?php
  if (3 === 3) {
    echo '+++'; // zobrazí sa toto
  } else {
    echo '---';
  }
?>

Rozdiel medzi dvoma operátormi sa prejavuje presne vtedy, keď sú hodnoty rovnaké, ale typ údajov je rozdielny. V ostatných prípadoch tieto operátory fungujú rovnako. Napríklad, pri porovnávaní rôznych čísel sa samozrejme vypíše mínus:

php<?php
  if (2 === 3) {
    echo '+++';
  } else {
    echo '---'; // zobrazí sa toto
  }
?>

V súčasnosti je v PHP bežné používať všade prísne porovnanie. Predpokladá sa, že v takom prípade je kód menej náchylný na chyby.

Задание 1

Bez spustenia kódu určite, čo sa zobrazí na obrazovke:

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

Bez spustenia kódu určite, čo sa zobrazí na obrazovke:

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

Bez spustenia kódu určite, čo sa zobrazí na obrazovke:

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

Bez spustenia kódu určite, čo sa zobrazí na obrazovke:

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

Bez spustenia kódu určite, čo sa zobrazí na obrazovke:

php<?php
  $test1 = 3;
  $test2 = 3;
    
  if ($test1 === $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>