Toán tử không bằng về giá trị và kiểu dữ liệu trong PHP
Ngoài toán tử != còn có
toán tử !==, xem xét kiểu dữ liệu khi
so sánh. Hãy cùng xem xét sự khác biệt giữa
chúng thông qua các ví dụ.
Giả sử hai số 3 được so sánh bằng toán tử !=.
Toán tử này so sánh các giá trị xem chúng có KHÔNG bằng nhau không. Vì
giá trị của chúng bằng nhau, nên màn hình
sẽ hiển thị '-':
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // điều này sẽ xảy ra, vì các giá trị bằng nhau
}
?>
Bây giờ giả sử một trong các giá trị của chúng được đặt
trong dấu nháy kép. Trong trường hợp này, toán tử !=
vẫn sẽ coi chúng là bằng nhau (vì giá trị trùng khớp,
còn kiểu dữ liệu không quan trọng đối với toán tử này)
và lại sẽ xuất ra '-':
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // điều này sẽ xảy ra, vì các giá trị bằng nhau
}
?>
Bây giờ hãy so sánh hai số 3
với toán tử !==. Nó cũng
sẽ coi chúng là bằng nhau và xuất ra '-':
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // điều này sẽ xảy ra, vì các giá trị bằng nhau
}
?>
Nhưng nếu bây giờ đặt một trong hai số ba trong dấu nháy kép,
thì toán tử !== sẽ coi các số ba của chúng ta
là không bằng nhau, vì, mặc dù giá trị của chúng trùng khớp,
nhưng chúng có kiểu dữ liệu khác nhau:
<?php
if ('3' !== 3) {
echo '+++'; // điều này sẽ xảy ra, vì các giá trị KHÔNG bằng nhau
} else {
echo '---';
}
?>
Không chạy code, hãy xác định điều gì sẽ được xuất ra trên màn hình:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Không chạy code, hãy xác định điều gì sẽ được xuất ra trên màn hình:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Không chạy code, hãy xác định điều gì sẽ được xuất ra trên màn hình:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Không chạy code, hãy xác định điều gì sẽ được xuất ra trên màn hình:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Không chạy code, hãy xác định điều gì sẽ được xuất ra trên màn hình:
<?php
$test1 = 3;
$test2 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>