Trong PHP, bạn dùng toán tử && (AND) với câu lệnh if để kiểm tra hai điều kiện cùng đúng. Khối code chỉ chạy khi cả hai điều kiện true; nếu một false, khối bị bỏ qua.
PHP cũng có từ khóa "and" tương tự &&, nhưng precedence thấp hơn và có thể hành xử khác trong biểu thức phức tạp. Khuyên dùng && cho rõ ràng và nhất quán.
Cú Pháp Cơ Bản
if (condition1 && condition2) {
echo "Both conditions are true!";
}
Khối code chạy chỉ nếu cả condition1 và condition2 true. Nếu điều kiện nào false, bỏ qua khối hoàn toàn.
Ví Dụ 1: Logic AND Cơ Bản
Cách && hoạt động với tổ hợp true/false khác nhau
<?php
if (true && true) {
echo "true<br>";
} else {
echo "false<br>";
}
if (true && false) {
echo "true<br>";
} else {
echo "false<br>";
}
if (false && true) {
echo "true<br>";
} else {
echo "false<br>";
}
if (false && false) {
echo "true<br>";
} else {
echo "false<br>";
}
?>
true false false false
Chỉ khi cả hai true mới ra "true". Các trường hợp còn lại ra "false".
Ví Dụ 2: Xác Thực Đăng Nhập User
Ví dụ thực tế kiểm tra username và password
<?php
$username = "admin";
$password = "12345";
if ($username == "admin" && $password == "12345") {
echo "Login successful!";
} else {
echo "Invalid username or password.";
}
?>
Login successful!
Cả hai điều kiện ($username == "admin" và $password == "12345") true, nên đăng nhập thành công.
Ví Dụ 3: Điều Kiện Phức Tạp Với Dấu Ngoặc
Dùng dấu ngoặc nhóm điều kiện tránh vấn đề precedence
<?php
$age = 20;
$country = "USA";
if ($age >= 18 && ($country == "USA" || $country == "Canada")) {
echo "You are eligible to vote.";
} else {
echo "You are not eligible to vote.";
}
?>
You are eligible to vote.
Điều kiện đầu ($age >= 18) true, điều kiện hai ($country == "USA" || $country == "Canada") cũng true, nên cả hai thỏa mãn.
Điểm Quan Trọng
| Toán tử | Precedence | Khuyến nghị |
|---|---|---|
&& | Cao hơn | Ưu tiên cho rõ ràng |
and | Thấp hơn | Tránh trong biểu thức phức tạp |
Kết Luận
Dùng && kiểm tra nhiều điều kiện trong if PHP. Luôn dùng dấu ngoặc khi kết hợp AND và OR để đảm bảo thứ tự đánh giá đúng và tránh hành vi bất ngờ.
