PHPda qiymat va tur bo'yicha tengsizlik
Bundan tashqari, != operatoridan tashqari, !== operatori ham mavjud bo‘lib, u solishtirishda turlarni ham hisobga oladi. Keling, ularning farqini misollar orqali ko‘rib chiqamiz.
Faraz qilaylik, != operatori yordamida ikkita 3 soni solishtirilmoqda. Ushbu operator qiymatlarning teng emasligini tekshiradi.
Chunki bizning qiymatlar bir-biriga teng, shuning uchun natijada "-" chiqariladi:
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // bu ishlaydi, chunki qiymatlar teng
}
?>
Endi faraz qilaylik, bitta qiymat qo‘shtirnoq ichida bo‘lsin. Bu holatda != operatori baribir ularni teng deb hisoblaydi, chunki qiymat bir xil, lekin ma'lumot turi bu ooperator uchun muhim emas.
Shuning sababli natijada yana "-" chiqadi:
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // bu ishlaydi, chunki qiymatlar teng
}
?>
Keling, endi ikkita 3 sonini !== operatori yordamida solishtiramiz.
Bu operator qiymat bilan birga turini ham solishtiradi. Chunki ikkala qiymat ham bir xil son (integer), ularni teng deb hisoblaydi va natijada "-" chiqariladi:
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // bu ishlaydi, chunki qiymatlar teng
}
?>
Agar endi bitta 3 sonini qo‘shtirnoq ichiga olsak, !== operatori ularni teng emas deb hisoblaydi. Chunki qiymatlar bir xil bo‘lsa ham, ularning ma'lumot turi farq qiladi:
<?php
if ('3' !== 3) {
echo '+++'; // bu ishlaydi, chunki qiymatlar teng EMAS
} else {
echo '---';
}
?>
№1
Kodni ishga tushirmasdan, ekranda nima ko'rsatilishini aniqlang:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
№2
Kodni ishga tushirmasdan, ekranda nima ko'rsatilishini aniqlang:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
№3
Kodni ishga tushirmasdan, ekranda nima ko'rsatilishini aniqlang:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
№4
Kodni ishga tushirmasdan, ekranda nima ko'rsatilishini aniqlang:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
№5
Kodni ishga tushirmasdan, ekranda nima ko'rsatilishini aniqlang:
<?php
$test1 = 3;
$test2 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>