Баробарӣ аз рӯи қимат ва навъ дар 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 '---';
  }
?>