Summary: trong bài hướng dẫn này, bạn sẽ tìm hiểu về toán tử PHP AND và cách sử dụng nó để xây dựng biểu thức logic phức tạp.
Giới thiệu về toán tử PHP AND
Toán tử logic AND chấp nhận hai toán hạng và trả về true
nếu cả hai toán hạng đều là true
; nếu không, nó sẽ trả về false
.
PHP sử dụng từ khóa and
để biểu diễn toán tử logic AND:
expression1 and expression2
Bảng sau minh họa kết quả của toán tử and
:
expression1 | expression2 | expression1 and expression2 |
---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
Vì từ khóa PHP không phân biệt chữ hoa chữ thường, các toán tử AND
và and
là giống nhau:
expression1 AND expression2
Theo quy ước, bạn nên sử dụng toán tử and
trong định dạng chữ thường.
Ngoài việc sử dụng từ khóa and
, PHP sử dụng &&
như là toán tử logic AND:
expression1 && expression2
Cả hai toán tử &&
và and
đều trả về kết quả giống nhau. Sự khác biệt duy nhất giữa các toán tử &&
và and
chính là độ ưu tiên của chúng.
Toán tử and
có độ ưu tiên cao hơn toán tử &&
. Độ ưu tiên của một toán tử xác định thứ tự mà PHP đánh giá.
Ví dụ về toán tử PHP AND
Giả sử bạn muốn áp dụng giảm giá cho khách hàng mua hơn ba món hàng với giá trên 99. Để xác định liệu khách hàng có nhận được giảm giá hay không, bạn có thể sử dụng toán tử AND như sau:
<?php $price = 100; $qty = 5; $discounted = $qty > 3 && $price > 99; var_dump($discounted);
Kết quả:
bool(true)
Nếu bạn thay đổi $qty
thành 2
, biến $discounted
sẽ trở thành false
như sau:
<?php $price = 100; $qty = 2; $discounted = $qty > 3 && $price > 99; var_dump($discounted);
Trong thực tế, bạn sẽ sử dụng toán tử logic AND trong các câu lệnh if, if-else, if-elseif, while, và do-while .
Ngắt ngay khi thỏa mãn điều kiện
Khi giá trị của toán hạng đầu tiên là false
, toán tử logic AND biết rằng kết quả phải là false
. Trong trường hợp này, nó không đánh giá toán hạng thứ hai. Quá trình này gọi là ngắt ngay khi thỏa mãn điều kiện.
Xem ví dụ sau:
<?php $debug = false; $debug && print('PHP and operator demo!');
Cách hoạt động.
- Đầu tiên, định nghĩa biến
$debug
và khởi tạo nó thànhfalse
. - Tiếp theo, sử dụng toán tử logic AND để kết hợp
$debug
vàprint()
. Vì$debug
làfalse
, PHP không đánh giá việc gọi hàmprint()
.
Nếu bạn thay đổi $debug
thành true
, bạn sẽ thấy một thông báo trong output:
<?php $debug = true; $debug && print('PHP and operator demo!');
Output:
PHP and operator demo!
Tóm lược
- Sử dụng toán tử PHP AND (
and
,&&
) để kết hợp hai biểu thức boolean và trả về true nếu cả hai biểu thức đều đúng; nếu không, nó sẽ trả vềfalse
. - Toán tử logic AND có thể ngắt ngay khi thỏa mãn điều kiện.