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 1<>1 false !== Không đồng nhất 1!==1 false > Lớn hơn 1>2 false < Nhỏ hơn 1<2 true >= Lớn hơn hoặc bằng 1>=2 false <= Nhỏ hơn hoặc bằng 1<=2 true

Toán tử gán trong PHP

Toán tử gán trong PHP được sử dụng bằng cách lấy giá trị của toán hạng bên phải gán vào toán hạng bên trái.

Toán tử Tên Ví dụ Kết quả = Gán bằng $x=10 $x=10 += Gán cộng $x+=10 $x=$x+10 -= Gán trừ $x-=10 $x=$x-10 *= Gán nhân $x*=10 $x=$x*10 /= Gán chia $x/=10 $x=$x/10 %= Gán lấy dư $x%=10 $x=$x

Toán tử logic trong PHP

Toán tử logic là các tổ hợp các giá trị boolean ,được sử dụng để kết hợp các câu điều kiện.

Toán tử Tên Ví dụ Kết quả and and (Đúng khi cả 2 cùng đúng) True and true true or or (Đúng khi 1 trong 2 hoặc cả 2 cùng đúng) true or false true xor xor (Đúng khi 1 trong 2 cùng đúng nhưng không phải cả 2) true xor true false && and (Đúng khi cả 2 cùng đúng) false && false true || or (Đúng khi 1 trong 2 hoặc cả 2 cùng đúng) true || false true ! not (Không đúng) !true flase

Toán tử kết hợp

Trong PHP chúng ta sẽ thường phải tăng hay giảm lượng biến một số nguyên nào đó. Toán tử kết hợp được sử dụng để tăng, giảm giá trị của một biến.

Toán tử Tên Ví dụ Kết quả $a Tăng trước khi thực hiện $a=1;echo $a; 2 $a++ Thực hiện rồi tăng $a=1;echo $a++; 1 $a Giảm trước khi thực hiện $a=1;echo $a; 0 $a-- Thực hiện rồi giảm $a=1;echo ++$a; 1

Toán tử chuỗi trong PHP

PHP cung cấp hai toán tử thiết kế đặc biệt cho các chuỗi.

Toán tử Tên Ví dụ . Nối chuỗi $txta.$txtb .= Gán chuỗi $txta.=$txtb

Toán tử mảng trong PHP

Các toán tử mảng trong PHP được sử dụng để so sánh các mảng.

Toán tử Tên Ví dụ Kết quả + Kết hợp $x + $y Kết hợp của $x và $y. == Bằng nhau $x==$y Trả về true nếu $x và $y có key/value tương tự. === Giống nhau $x===$y Trả về true nếu $x và $y có key/value tương tự và cùng loại. != Không bằng $x!=$y Trả về true nếu $x không bằng $y. <> Không bằng $x<>$y Trả về true nếu $x không bằng $y. !== Không giống nhau $x!==$y Trả về true nếu $x là không giống với $y

Độ ưu tiên của các toán tử trong PHP

Độ ưu tiên là thứ tự các phép tính mà PHP sẽ thực hiện trong một biểu thức. Thứ tự lần lượt từ trên xuống dưới như trong toán học:

- Toán tử một ngôi ++,-- từ phải sang trái. - Toán tử ^, *, /, %, +, - từ trái sang phải. - Toán tử = từ phải sang trái.

Tổng kết

Vậy là chúng ta đã tìm hiểu về các toán tử trong PHP hi vong bài này sẽ giúp các bạn hiểu về những khái niệm cơ bản này của PHP.