Érték és típus szerinti egyenlőtlenség a PHP-ban

A != operátoron kívül létezik még a !== operátor is, amely a típust is figyelembe veszi az összehasonlításnál. Nézzük meg a köztük lévő különbségeket példákon keresztül.

Tegyük fel, hogy a != operátorral két 3 számot hasonlítunk össze. Ez az operátor azt vizsgálja, hogy az értékek NEM egyenlőek-e. Mivel értékeink éppen egyenlőek, a képernyőre a '-' kerül ki:

php<?php
  if (3 != 3) {
    echo '+++';
  } else {
    echo '---'; // ez fog lefutni, mivel az értékek egyenlőek
  }
?>

Tegyük fel most, hogy az egyik értékünk idézőjelben van. Ebben az esetben a != operátor továbbra is egyenlőnek tekinti őket (mivel az érték megegyezik, és a típus nem fontos ennél az operátornál) és ismét a '-' kerül kiírásra:

php<?php
  if ('3' != 3) {
    echo '+++';
  } else {
    echo '---'; // ez fog lefutni, mivel az értékek egyenlőek
  }
?>

Hasonlítsunk most össze két 3 számot a !== operátorral. Ez is egyenlőnek fogja tekinteni őket, és a '-' kerül kiírásra:

php<?php
  if (3 !== 3) {
    echo '+++';
  } else {
    echo '---'; // ez fog lefutni, mivel az értékek egyenlőek
  }
?>

De ha most az egyik hármast idézőjelbe tesszük, akkor a !== operátor a hármasainkat egyenlőtlennek fogja tekinteni, mivel, bár az értékük megegyezik, de a típusuk különböző:

php<?php
  if ('3' !== 3) {
    echo '+++'; // ez fog lefutni, mivel az értékek NEM egyenlőek
  } else {
    echo '---';
  }
?>
Задание 1

A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:

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

A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:

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

A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:

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

A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:

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

A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:

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