Mosbarazimi sipas vlerës dhe tipit në PHP

Përveç operatorit != ekziston edhe operatori !==, i cili merr parasysh tipin gjatë krahasimit. Le të shqyrtojmë dallimet mes tyre me anë të shembujve.

Le të supozojmë se me operatorin != krahasohen dy numra 3. Ky operator krahason vlerat për të parë nëse ato NUK janë të barabarta. Meqenëse vlerat tani janë të barabarta, në ekran do të shfaqet '-':

php<?php
  if (3 != 3) {
    echo '+++';
  } else {
    echo '---'; // do të ekzekutohet kjo, pasi vlerat janë të barabarta
  }
?>

Le të supozojmë tani që njëra nga vlerat tona të jetë me thonjëza. Në këtë rast, operatori != prapë do t'i konsiderojë ato të barabarta (pasi përputhet vlera, ndërsa tipi nuk është i rëndësishëm për këtë operator) dhe përsëri do të nxjerrë '-':

php<?php
  if ('3' != 3) {
    echo '+++';
  } else {
    echo '---'; // do të ekzekutohet kjo, pasi vlerat janë të barabarta
  }
?>

Le të krahasojmë tani dy numra 3 me operatorin !==. Ai gjithashtu do t'i konsiderojë të barabarta dhe do të nxjerrë '-':

php<?php
  if (3 !== 3) {
    echo '+++';
  } else {
    echo '---'; // do të ekzekutohet kjo, pasi vlerat janë të barabarta
  }
?>

Por nëse tani njërën nga treshet e vendosim në thonjëza, operatori !== do t'i konsiderojë treshet tona të pabarabarta, sepse, megjithëse vlerat e tyre përputhen, ato kanë tip të ndryshëm:

php<?php
  if ('3' !== 3) {
    echo '+++'; // do të ekzekutohet kjo, pasi vlerat NUK janë të barabarta
  } else {
    echo '---';
  }
?>
Задание 1

Pa ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:

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

Pa ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:

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

Pa ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:

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

Pa ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:

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

Pa ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:

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