Արժեքով և տիպով հավասարությունը 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 '---';
}
?>