So sánh giá trị của 2 biến trong php năm 2024

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.

Sau khi tìm hiểu về các kiểu dữ liệu trong PHP qua bài kiểu dữ liệu trong PHP, bài này chúng ta sẽ tìm hiểu về toán tử trong PHP.

Toán tử là gì?

Đối với mọi ngôn ngữ lập trình, toán tử và biểu thức luôn là những kiến thức cơ bản được sử dụng để xử lý các thao tác trong lập trình. Và PHP cũng không ngoại lệ. Vậy toán tử là gì?

Để trả lời câu hỏi này chúng ta có ví dụ như sau $a - $b, trong đó $a, $b được gọi là các toán hạng và dấu + được gọi là toán tử.

PHP hỗ trợ các loại toán tử sau:

- Toán tử số học. - Toán tử so sánh. - Toán tử gán. - Toán tử logic. - Toán tử điều kiện. - Toán tử chuỗi. - Toán tử mảng

Toán tử số học trong PHP

Là dạng toán tử đơn giản gồm các phép tính cộng, trừ, nhân, chia và chia lấy dư [%].

Toán tử Tên Ví dụ Kết quả + Cộng 2 số hạng 1+1 2 - Trừ 2 số hạng 2-1 1 * Nhân 2 số hạng 2*2 4 / Chia 2/2 1 % Trả về số dư 3%2 1

Toán tử so sánh trong PHP

Toán tử so sánh là toán tử được sử dụng để so sánh hai giá trị [số hoặc chuỗi].

Toán tử Tên Ví dụ Kết quả == So sánh bằng 1==1 true === Đồng nhất [bằng nhau và cùng kiểu dl] 1===1 true != Không bằng 1!=2 true Không bằng 11 false !== Không đồng nhất 1!==1 false > Lớn hơn 1>2 false < Nhỏ hơn 1= Lớn hơn hoặc bằng 1>=2 false

Chủ Đề