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