მნიშვნელობითი და ტიპური უტოლობა PHP-ში

ოპერატორ !=-ის გარდა არსებობს აგრეთვე ოპერატორი !==, რომელიც ტიპსაც ითვალისწინებს შედარებისას. მოდით, მაგალითებით განვიხილოთ განსხვავებები მათ შორის.

დავუშვათ, ოპერატორი != ადარებს ორ რიცხვს 3. ეს ოპერატორი ადარებს მნიშვნელობებს იმაზე, რომ ისინი არ არიან ტოლი. ვინაიდან ჩვენი მნიშვნელობები სწორედ ტოლია, ეკრანზე გამოივლინება '-':

php<?php
  if (3 != 3) {
    echo '+++';
  } else {
    echo '---'; // იმუშავებს ამაზე, რადგან მნიშვნელობები ტოლია
  }
?>

დავუშვათ, ახლა ჩვენი ერთ-ერთი მნიშვნელობა იქნება ბრჭყალებში. ამ შემთხვევაში ოპერატორი != მაინც ჩათვლის მათ ტოლად (რადგან ემთხვევა მნიშვნელობა, ხოლო ტიპი არ არის მნიშვნელოვანი ამ ოპერატორისთვის) და ისევ გამოიტანს '-':

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 '---';
  }
?>
Задание 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 = 2;
    
  if ($test1 !== $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>