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 '---';
  }
?>