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<?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<?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<?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<?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 '---';
  }
?>
Задание 1

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<?php
  $test1 = '3';
  $test2 = '3';
    
  if ($test1 != $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 2

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<?php
  $test1 = '3';
  $test2 = '3';
    
  if ($test1 !== $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 3

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<?php
  $test1 = 3;
  $test2 = '3';
    
  if ($test1 != $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 4

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<?php
  $test1 = 3;
  $test2 = '3';
    
  if ($test1 !== $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 5

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<?php
  $test1 = 3;
  $test2 = 2;
    
  if ($test1 !== $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>