Равенство по стойност и тип в PHP

Да приемем, че искате да сравнявате така, че числото в кавички да не бъде равно на същото число без кавички. С други думи, искате да сравнявате така, че сравнението да бъде не само по стойност, но и по тип данни. За това вместо оператор == трябва да използвате оператор ===. Сравнението с такъв оператор се нарича строго.

Вижте пример:

php<?php
  if ('3' === 3) {
    echo '+++';
  } else {
    echo '---'; // ще се изпълни това, тъй като стойностите не са равни по тип
  }
?>

А ето при сравняване на два низа '3' на екрана ще се изведе '+++':

php<?php
  if ('3' === '3') {
    echo '+++'; // ще се изпълни това
  } else {
    echo '---';
  }
?>

Също така, както и при сравняване на числа:

php<?php
  if (3 === 3) {
    echo '+++'; // ще се изпълни това
  } else {
    echo '---';
  }
?>

Разликата между двата оператора се проявява точно тогава, когато стойностите са еднакви, но типът данни е различен. В останалите случаи тези оператори работят еднакво. Например, при сравняване на различни числа, разбира се, ще се изведе минус:

php<?php
  if (2 === 3) {
    echo '+++';
  } else {
    echo '---'; // ще се изпълни това
  }
?>

В днешно време в PHP е общоприето навсякъде да се използва строго сравнение. Счита се, че в този случай кодът е по-малко податлив на грешки.

Задание 1

Без да пускате кода, определете какво ще се изведе на екрана:

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

Без да пускате кода, определете какво ще се изведе на екрана:

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

Без да пускате кода, определете какво ще се изведе на екрана:

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

Без да пускате кода, определете какво ще се изведе на екрана:

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

Без да пускате кода, определете какво ще се изведе на екрана:

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