Баробарӣ аз рӯи қимат ва навъ дар PHP
Фарз кунед, ки шумо мехоҳед чунон муқоиса кунед, ки рақам
дар қоусҳо ба ҳамон рақам бе қоусҳо баробар набошад.
Ба ибораи дигар, шумо мехоҳед
чунон муқоиса кунед, ки муқоиса на танҳо
аз рӯи қимат, балки аз рӯи навъи маълумот низ бошад. Барои ин
ба ҷои оператори == бояд истифода бурда шавад
оператори ===. Муқоиса бо чунин оператор
муқоисаи қатъӣ номида мешавад.
Мисолро бубинед:
<?php
if ('3' === 3) {
echo '+++';
} else {
echo '---'; // ин кор мекунад, зеро қиматҳо аз рӯи навъ баробар нестанд
}
?>
Аммо ҳангоми муқоисаи ду сатр '3'
дар экран чоп карда мешавад '+':
<?php
if ('3' === '3') {
echo '+++'; // ин кор мекунад
} else {
echo '---';
}
?>
Ҳамон тавре ки ҳангоми муқоисаи рақамҳо:
<?php
if (3 === 3) {
echo '+++'; // ин кор мекунад
} else {
echo '---';
}
?>
Фарқият байни ду оператор айнан он ҷо зоҳир мешавад, ки ҳангоми баробарии қиматҳо, вале навъи маълумот гуногун аст. Дар ҳолатҳои дигар ин операторҳо як хел кор мекунанд. Масалан, ҳангоми муқоисаи рақамҳои гуногун, албатта, манфӣ чоп карда мешавад:
<?php
if (2 === 3) {
echo '+++';
} else {
echo '---'; // ин кор мекунад
}
?>
Дар замони ҳозира дар PHP истифодаи муқоисаи қатъӣ дар ҳама ҷо маъмул аст. Ҳисоб мешавад, ки дар ин ҳолат рамз камтар дучори хатоҳо мешавад.
Бидуни оғози рамз, муайян кунед, ки чӣ дар экран чоп карда мешавад:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Бидуни оғози рамз, муайян кунед, ки чӣ дар экран чоп карда мешавад:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Бидуни оғози рамз, муайян кунед, ки чӣ дар экран чоп карда мешавад:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Бидуни оғози рамз, муайян кунед, ки чӣ дар экран чоп карда мешавад:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Бидуни оғози рамз, муайян кунед, ки чӣ дар экран чоп карда мешавад:
<?php
$test1 = 3;
$test2 = 3;
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>