Bài viết đăng tại: https://laptrinhcanban.com
Hướng dẫn cách sử dụng toán tử so sánh trong PHP. Ở phần 2 này bạn sẽ học được các phép so sánh bằng trong PHP được biểu diễn thông qua 4 loại toán tử so sánh bằng trong PHP sau bài học này.
Toán tử so sánh bằng trong PHP
Toán tử so sánh bằng trong PHP, là các toán tử được đặt giữa 2 hạng tử và kiểm tra xem chúng bằng nhau hay là khác nhau trong PHP.
Để thực hiện các phép so sánh bằng trong PHP, chúng ta sử dụng 4 loại toán tử so sánh bằng trong PHP được liệt kê trong bảng dưới đây:
Toán tử | Biểu thức điều kiện | Ý nghĩa |
---|---|---|
== | x == y | x bằng y |
!= | x != y | x không bằng y |
=== | x === y | x nghiêm ngặt bằng y |
!== | x !== y | x nghiêm ngặt không bằng y |
Ngoài các toán tử so sánh bằng này, chúng ta cũng sử dụng tới 4 loại toán tử so sánh lớn nhỏ mà Kiyoshi đã giới thiệu trong bài Toán tử so sánh trong PHP (P1: so sánh lớn nhỏ).
Phép so sánh bằng trong PHP sẽ kết hợp toán tử so sánh bằng cùng với hai giá trị ở hai vế trái phải thành một biểu thức điều kiện, sau đó kiểm tra biểu thức điều kiện này là đúng hay sai và đưa ra kết quả. Kết quả của các phép so sánh trong PHP sẽ là kiểu boolean trong PHP với hai giá trị là True (đúng) hoặc False (sai), và phép toán so sánh trong PHP được sử dụng để cấu tạo biểu thức điều kiện được sử dụng trong câu lệnh if trong PHP.
Toán tử == trong PHP
Khi đặt toán tử == trong PHP giữa 2 hạng tử, nếu chúng giống nhau thì kết quả true được trả về. Nếu kiểu của 2 hạng tử khác nhau thì chúng sẽ được chuyển về cùng một kiểu dữ liẹu trước khi được so sánh. Và nếu 2 hạng tử này thuộc kiểu object trong PHP, nếu chúng cùng tham chiếu tới một object thì được coi là bằng nhau và kết quả true được trả về.
Và toán tử != thì sẽ có tác dụng ngược lại hoàn toàn với toán tử == trong PHP.
So sánh == cùng kiểu dữ liệu
Khi sử dụng toán tử ==, nếu 2 hạng tử có cùng kiểu dữ liệu thì giá trị true sẽ được trả về nếu chúng giống nhau.
echo 10 == 10; |
So sánh == khác kiểu dữ liệu
Khi sử dụng toán tử ==, nếu 2 hạng tử khác kiểu dữ liệu thì chúng sẽ được chuyển về cùng kiểu dữ liệu trước khi được so sánh.
Ví dụ chúng ta so sánh chuỗi với số bằng toán tử ==, chuỗi đó sẽ được chuyển về kiểu số trước khi được so sánh như sau:
echo 10 == '10'; |
Lại nữa, trong PHP cũng có một số kiểu dữ liệu không thuộc kiểu chuỗi nhưng có thể được chuyển về dạng số như sau đây:
true 1
false 0
null 0
Do vậy, khi so sánh chúng với số trong PHP, kết quả phép so sánh sẽ phụ thuộc vào kết quả chuyển kiểu dữ liệu về số của chúng.
echo 1 == true; |
Toán tử === trong PHP
Trong phép so sánh nghiêm ngặt với toán tử === trong PHP, nếu 2 hạng tử đem so sánh có cùng kiểu và cùng giá trị thì true sẽ được trả về. Nếu 2 hạng tử khác kiểu dữ liệu, chúng không được chuyển về cùng kiểu mà kết quả phép so sánh sẽ luôn trả về false.
Và toán tử !== thì sẽ có tác dụng ngược lại hoàn toàn với toán tử === trong PHP.
So sánh === cùng kiểu dữ liệu
Khi sử dụng toán tử ===, nếu 2 hạng tử có cùng kiểu dữ liệu thì giá trị true sẽ được trả về nếu chúng giống nhau.
echo 10 === 10; |
So sánh === khác kiểu dữ liệu
Khi sử dụng toán tử ===, nếu 2 hạng tử khác kiểu dữ liệu kết quả false sẽ luôn được trả về.
Ví dụ:
echo 10 === '10'; |
Sự khác biệt giữa === và == trong PHP
Qua các phân tích trên, chúng ta có thể thấy sự khác biệt giữa === và == trong PHP thể hiện rõ trong trường hợp chúng ta cần so sánh các giá trị thuộc kiểu dữ liệu khác nhau trong PHP.
Khi so sánh các giá trị thuộc kiểu dữ liệu khác nhau trong PHP bằng toán tử ==, các giá trị này sẽ được chuyển về cùng một kiểu dữ liệu rồi mới đem so sánh. Và kết quả phép so sánh sẽ hoàn toàn phụ thuộc vào giá trị được chuyển kiểu của chúng.
Ngược lại khi so sánh các giá trị thuộc kiểu dữ liệu khác nhau trong PHP bằng toán tử ===, chúng không được chuyển về cùng kiểu dữ liệu, và phép so sánh sẽ luôn trả về kết quả true.
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng các phép so sánh trong PHP được biểu diễn thông qua các toán tử so sánh bằng trong PHP rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về PHP trong các bài học tiếp theo.
URL Link
HOME › hướng dẫn học lập trình php cho người mới bắt đầu>>04. toán tử trong php