Bài viết Câu hỏi About RongvangIT
profile Pic
0
0

Đăng ngày:

 

Sửa ngày:

1060 Lượt xem

Sự khác biệt giữa == và === trong PHP

PHP

Memo sự khác biệt giữa toán tử == và === trong PHP. Khi làm dự án mình đã gặp phải bug khi không hiểu sao khi so sánh trong biểu thức điều kiện của if mãi không ra kết quả, và khi tìm hiểu kỹ thì mới biết lý do là…

Sự khác biệt giữa == và === trong PHP

Sự khác biệt giữa == và === trong PHP, đó chính là ở chỗ chúng ta chỉ xem xét tới giá trị, hay là xem xét tới cả kiểu của giá trị trong phép so sánh.

Cụ thể hơn thì toán tử == sẽ chuyển đổi giá trị 2 vế về cùng kiểu rồi so sánh giá trị, trong khi toán tử === sẽ không chuyển đổi kiểu mà so sánh cả giá trị lẫn kiểu của giá trị giữa 2 vế đó.

Lấy ví dụ, với hai biến a và b dưới đây, tuy biến a thuộc kiểu string và biến b thuộc kiểu int, nhưng vì chúng cùng có giá trị chuyển đổi bằng 8 nên kết quả so sánh bằng toán tử == sẽ trả về true:

$a = "8";
$b = 8;
if($a == $b){
  echo "true";
}else{
  echo "false";
}

//true

Trong khi đó nếu dùng toán tử === thì kết quả false sẽ được trả về:

$a = "8";
$b = 8;
if($a === $b){
  echo "true";
}else{
  echo "false";
}

//false

Sử dụng == và === trong PHP với các trường hợp cụ thể

Trường hợp Kết quả
$a == $b true nếu $a bằng $b sau khi chuyển đổi về cùng kiểu
$a === $b true nếu $a bằng và cùng kiểu với $b.
$a != $b true nếu $a không bằng $b sau khi chuyển đổi về cùng kiểu
$a !== $b true nếu $a không bằng hoặc cùng kiểu với $b
$a <> $b true nếu $a không bằng $b sau khi chuyển đổi về cùng kiểu

Đặc biệt khi so sánh giữa 2 giá trị khác kiểu, chúng ta hay bị nhầm lẫn nếu không nắm rõ được sự khác biệt giữa == và === trong PHP như trên, nên chúng ta nên sử dụng === thay cho == khi so sánh trong PHP.

Kết bài

Trên đây Kiyoshi đã trình bày sự khác biệt giữa == và === trong PHP rồi. Mong kiến thức này sẽ có ích cho mọi người.

kiyoshi
Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.

Bình luận

Bài viết chưa có bình luận. Hãy trở thành người bình luận đầu tiên!
Sign up for free and join this conversation.
Sign Up
If you already have a RongvangIT account Login
Danh sách thư mục
Tại sao không đăng ký và nhận được nhiều hơn từ RồngVàngIT ?

Bạn cần đăng nhập để sử dụng chức năng này, cùng hàng loạt các chức năng tuyệt vời khác của RồngVàngIT !

  1. 1. Bạn sẽ nhận được các bài viết phù hợp bằng chức năng theo dõi tag và người dùng.
  2. 2. Bạn có thể đọc lại các thông tin hữu ích bằng chức năng lưu trữ nội dung.
  3. 3. Chia sẻ kiến thức, đặt câu hỏi và ghi lại quá trình trưởng thành của mình cùng RồngVàngIT !
Tạo tài khoản Đăng nhập
profile Pic