Sự khác biệt giữa toán tử == và === trong php là gì?

Trong một bài viết trước, tôi đã đề cập đến sự khác biệt giữa =, == và ===, điều gây ra nhiều nhầm lẫn cho hầu hết các lập trình viên mới

Kể từ đó, tôi đã có người hỏi tôi sự khác biệt giữa. = và. == khá giống với ba phần trước. Lưu ý rằng tôi cũng gặp phải thách thức trong việc phân biệt hai loại này và thường sử dụng chúng thay thế cho nhau trong những ngày đầu lập trình, tôi nghĩ có thể có nhiều người sẽ được lợi nếu tôi viết về nó

Trong bài viết này, tôi sẽ đi sâu vào chi tiết và giải thích sự khác biệt giữa. = và. ==, đưa ra nhiều ví dụ mã để trình diễn

Nếu bạn là người mới bắt đầu học lập trình, bạn có thể tự hỏi hai cái đó là cái quái gì vậy?. Hoặc một dấu chấm than đang làm gì trước một dấu bằng

Hai ký hiệu được gọi là toán tử trong lập trình. Toán tử là một dấu hiệu/ký hiệu cung cấp hướng dẫn cho trình biên dịch hoặc trình thông dịch để thực hiện một thao tác/hành động cụ thể đối với (các) toán hạng hoặc (các) biến

Đây có thể là phép toán số học, phép toán logic, so sánh hai giá trị, gán giá trị cho biến hoặc hằng, v.v.

Examples of other commonly used operators include +, -, /, *, <, >, etc

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

Một điều bạn có thể nhận thấy về cả hai là cả hai đều bắt đầu bằng dấu chấm than (. )

Trong lập trình, một dấu chấm than khi được sử dụng như một toán tử có nghĩa là không và được sử dụng để phủ định bất cứ điều gì được đặt trước đó. Chẳng hạn, nếu bạn nói ". Tôi yêu lập trình", các lập trình viên sẽ hiểu là "Tôi không yêu lập trình"

1. . = Toán tử

Vì "=" có nghĩa là "bằng", ". = "có nghĩa là "không bằng". Nó là một toán tử so sánh, được gọi là không bằng nhau và được sử dụng để so sánh nếu hai toán hạng có giá trị bằng nhau

Kiểm tra của nó là hai không nên bằng nhau. Nó trả về true nếu giá trị của hai toán hạng không bằng nhau và trả về false nếu chúng bằng nhau

ví dụ 1

<?php
if(10 != 10){
 echo "Values not equal";
}
else{
  echo "Values equal";
}
?>

đầu ra

Sai. Giá trị bằng nhau

Trong ví dụ trên, các giá trị ở cả hai phía của toán tử đều bằng nhau nên đầu ra là sai

ví dụ 2

<?php
if(10 != "10"){
 echo "Values not equal";
}
else{
  echo "Values equal";
}
?>

đầu ra

Sai. Giá trị bằng nhau

Vẫn ở ví dụ trên, giá trị ở 2 vế của toán tử bằng nhau nên đầu ra là false

ví dụ 3

<?php
if(10 != 23){
 echo "Values not equal";
}
else{
  echo "Values equal";
}
?>

đầu ra

ĐÚNG VẬY. Giá trị không bằng nhau

Giá trị bên trái (10) không bằng giá trị bên phải (23), do đó kết quả đúng

2. . == Toán tử

Giống như ở trên, đây cũng là một toán tử so sánh vì nó cũng so sánh các giá trị. Nó được gọi là toán tử không giống nhau. Nó ngược lại với toán tử giống hệt (===)

Nó được sử dụng để xác nhận rằng hai giá trị/toán hạng không giống nhau. Giống nhau có nghĩa là cùng giá trị và cùng loại

Nó trả về true nếu giá trị bên trái không bằng giá trị bên phải hoặc chúng không cùng loại. Nó chỉ trả về false nếu hai giá trị bằng nhau và cùng loại

ví dụ 1

<?php
if(10 !== 10){
 echo "Values not identical";
}
else{
  echo "Values identical";
}
?>

đầu ra

Sai. Giá trị giống hệt nhau

10 bên trái và 10 bên phải đều có giá trị bằng nhau và cùng kiểu, số nguyên. Như vậy chúng giống hệt nhau. Vì kiểm tra của chúng tôi là để xác nhận rằng chúng không giống nhau nên nó không thành công và trả về false

ví dụ 2

<?php
if(10 !== "10"){
 echo "Values not identical";
}
else{
  echo "Values identical";
}
?>

đầu ra

ĐÚNG VẬY. Các giá trị không giống nhau

10 ở bên trái và 10 ở bên phải có giá trị bằng nhau và khác loại. Cái bên trái là một số nguyên trong khi cái bên phải là một chuỗi (vì nó được đặt trong dấu ngoặc kép ""). Vì vậy chúng không giống nhau. Vì toán tử được sử dụng để kiểm tra/xác nhận rằng chúng không giống nhau, kiểm tra của chúng tôi trả về true

ví dụ 3

<?php
if(10 !== 2){
 echo "Values not identical";
}
else{
  echo "Values identical";
}
?>

đầu ra

ĐÚNG VẬY. Các giá trị không giống nhau

Từ ví dụ trên, mặc dù hai giá trị là số nguyên nhưng chúng không bằng nhau và do đó không giống nhau. Do đó kết quả thực sự

Các toán tử số học PHP được sử dụng với các giá trị số để thực hiện các phép toán số học phổ biến, chẳng hạn như cộng, trừ, nhân, v.v.

Toán tửNameVí dụKết quảHiển thị nó+Thêm$x + $yTổng của $x và $yHãy thử »-Trừ$x - $ySự khác biệt của $x và $yHãy thử »*Phép nhân$x * $yTích của $x và $yHãy thử »/Phân chia$

Toán tử gán PHP

Các toán tử gán PHP được sử dụng với các giá trị số để ghi một giá trị cho một biến

Toán tử gán cơ bản trong PHP là "=". Điều đó có nghĩa là toán hạng bên trái được đặt thành giá trị của biểu thức gán bên phải

Sự khác biệt giữa các toán tử == và === là gì?

Toán tử == kiểm tra xem hai giá trị có bằng nhau không. Các. = toán tử kiểm tra xem hai giá trị có bằng nhau không . Nó còn được gọi là toán tử đẳng thức lỏng lẻo vì nó kiểm tra đẳng thức trừu tượng, i. e. , nó có xu hướng chuyển đổi kiểu dữ liệu của toán hạng để thực hiện phép so sánh khi hai toán hạng không cùng kiểu dữ liệu.

Cái nào nhanh hơn == hoặc === PHP?

Toán tử đẳng thức == tạm thời chuyển đổi loại dữ liệu để xem giá trị của nó có bằng toán hạng kia hay không, trong khi đó === (toán tử định danh) không cần thực hiện . .

Sự khác biệt giữa gấp đôi bằng nhau và gấp ba bằng nhau trong PHP là gì?

Toán tử so sánh được gọi là Toán tử giống hệt nhau là dấu bằng ba lần “===” . Toán tử này cho phép so sánh chặt chẽ hơn nhiều giữa các biến hoặc giá trị đã cho. Toán tử này trả về true nếu cả hai biến chứa cùng thông tin và cùng kiểu dữ liệu, ngược lại trả về false.

Tại sao === nhanh hơn ==?

Vì vậy, === nhanh hơn == trong Javascript . == so sánh nếu các giá trị giống nhau, nhưng nó cũng loại chuyển đổi trong so sánh. Những chuyển đổi loại đó làm cho == chậm hơn ===. === compares if the values and the types are the same. == compares if the values are the same, but it also does type conversions in the comparison. Those type conversions make == slower than ===.