PHP-də qiymət və tip bərabərliyi
Tutaq ki, siz elə müqayisə etmək istəyirsiniz ki, dırnaq içindəki ədəd
eynı ədədə, lakin dırnaqsız, bərabər olmasın. Başqa sözlə, siz
müqayisəni təkcə qiymətə görə deyil, həm də məlumat növünə görə
etmək istəyirsiniz. Bunun üçün
== operatoru əvəzinə
=== operatorundan istifadə etməlisiniz. Bu operatorla
müqayisə ciddi adlanır.
Nümunəyə baxın:
<?php
if ('3' === 3) {
echo '+++';
} else {
echo '---'; // bu işləyəcək, çünki dəyərlər tipə görə bərabər deyil
}
?>
Lakin iki sətir '3' müqayisə edildikdə
ekranda '+++' çıxacaq:
<?php
if ('3' === '3') {
echo '+++'; // bu işləyəcək
} else {
echo '---';
}
?>
Eynilə, ədədləri müqayisə edərkən də:
<?php
if (3 === 3) {
echo '+++'; // bu işləyəcək
} else {
echo '---';
}
?>
İki operator arasındakı fərq elə halda özünü göstərir ki, dəyərlər eynidir, amma məlumat növü fərqlidir. Digər hallarda bu operatorlar eyni işləyir. Məsələn, fərqli ədədləri müqayisə edərkən, əlbəttə ki, mənfi işarəsi çıxacaq:
<?php
if (2 === 3) {
echo '+++';
} else {
echo '---'; // bu işləyəcək
}
?>
Hal-hazırda PHP-də hər yerdə ciddi müqayisədən istifadə etmək ümumi qəbul edilib. Belə hesab edilir ki, bu zaman kod səhvlərə daha az məruz qalır.
Kodu işlətmədən müəyyən edin ki, ekrana nə çıxacaq:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Kodu işlətmədən müəyyən edin ki, ekrana nə çıxacaq:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Kodu işlətmədən müəyyən edin ki, ekrana nə çıxacaq:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Kodu işlətmədən müəyyən edin ki, ekrana nə çıxacaq:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Kodu işlətmədən müəyyən edin ki, ekrana nə çıxacaq:
<?php
$test1 = 3;
$test2 = 3;
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>