Trong lập trình PHP, cấu trúc điều kiện IF là một công cụ quan trọng giúp kiểm tra và xử lý các điều kiện khác nhau trong quá trình viết mã. Bài 15 này sẽ giúp bạn hiểu rõ hơn về cách sử dụng các câu lệnh if, else, và elseif để kiểm tra và thực hiện các hành động tùy theo từng điều kiện cụ thể. Đây là một khái niệm căn bản nhưng rất cần thiết cho bất kỳ ai muốn nắm vững lập trình PHP. Cùng tìm hiểu chi tiết và xem các ví dụ minh họa để hiểu rõ hơn về điều kiện trong PHP.
1. Câu lệnh if trong PHP là gì?
Câu lệnh if trong PHP cho phép bạn thực thi một đoạn mã chỉ khi một điều kiện được đánh giá là true (đúng). Điều kiện thường là một biểu thức logic hoặc so sánh giữa các giá trị. Nếu điều kiện không được thỏa mãn (tức là false), đoạn mã trong khối if sẽ bị bỏ qua.
Cú pháp:
if (condition) {
// Mã sẽ thực thi nếu condition đúng (true)
}condition: Là một biểu thức được kiểm tra, trả về giá trịtruehoặcfalse.
Ví dụ đơn giản:
$age = 20;
if ($age >= 18) {
echo "Bạn đã đủ tuổi trưởng thành.";
}Trong ví dụ trên, điều kiện là $age >= 18. Nếu giá trị của biến $age lớn hơn hoặc bằng 18, câu lệnh echo sẽ được thực thi.
2. Câu lệnh if...else
Nếu bạn muốn thực thi một đoạn mã khác khi điều kiện không thỏa mãn, bạn có thể sử dụng cấu trúc if...else. Điều này cho phép chương trình lựa chọn giữa hai hành động khác nhau dựa trên điều kiện.
Cú pháp:
if (condition) {
// Mã sẽ thực thi nếu condition đúng
} else {
// Mã sẽ thực thi nếu condition sai
}Ví dụ:
$age = 16;
if ($age >= 18) {
echo "Bạn đã đủ tuổi trưởng thành.";
} else {
echo "Bạn chưa đủ tuổi trưởng thành.";
}Trong ví dụ trên, nếu $age nhỏ hơn 18, câu lệnh echo trong phần else sẽ được thực thi.
3. Câu lệnh if...elseif...else
Khi bạn cần kiểm tra nhiều điều kiện, bạn có thể sử dụng câu lệnh if...elseif...else. Cấu trúc này cho phép bạn kiểm tra một loạt các điều kiện và thực thi các khối mã khác nhau dựa trên kết quả của từng điều kiện.
Cú pháp:
if (condition1) {
// Mã sẽ thực thi nếu condition1 đúng
} elseif (condition2) {
// Mã sẽ thực thi nếu condition1 sai và condition2 đúng
} else {
// Mã sẽ thực thi nếu tất cả các điều kiện trên đều sai
}Ví dụ:
$age = 22;
if ($age < 18) {
echo "Bạn còn là trẻ em.";
} elseif ($age < 30) {
echo "Bạn là một thanh niên.";
} else {
echo "Bạn đã trưởng thành.";
}Trong ví dụ này, nếu $age nhỏ hơn 18, câu lệnh trong khối if sẽ được thực thi. Nếu $age nhỏ hơn 30 nhưng lớn hơn hoặc bằng 18, câu lệnh trong khối elseif sẽ thực thi. Nếu không, khối else sẽ được chạy.
4. Nested if (If lồng nhau)
Bạn có thể lồng nhiều câu lệnh if bên trong nhau để kiểm tra nhiều điều kiện phức tạp hơn. Điều này gọi là nested if.
Cú pháp:
if (condition1) {
if (condition2) {
// Mã sẽ thực thi nếu cả condition1 và condition2 đều đúng
}
}Ví dụ:
$age = 25;
$has_permission = true;
if ($age >= 18) {
if ($has_permission) {
echo "Bạn có thể truy cập vào nội dung.";
} else {
echo "Bạn cần cấp quyền để truy cập.";
}
} else {
echo "Bạn chưa đủ tuổi để truy cập.";
}Trong ví dụ trên, chúng ta lồng câu lệnh if để kiểm tra hai điều kiện: tuổi và quyền truy cập. Người dùng chỉ có thể truy cập nếu cả hai điều kiện đều đúng.
5. Toán tử điều kiện (Ternary Operator)
Ngoài cách sử dụng cấu trúc if...else truyền thống, PHP còn cung cấp toán tử điều kiện (ternary operator) để rút gọn câu lệnh điều kiện. Toán tử này giúp viết câu lệnh if...else trong một dòng mã.
Cú pháp:
$result = (condition) ? value_if_true : value_if_false;Ví dụ:
$age = 20;
$status = ($age >= 18) ? "Đủ tuổi" : "Chưa đủ tuổi";
echo $status; // Kết quả: Đủ tuổiTrong ví dụ trên, nếu $age lớn hơn hoặc bằng 18, biến $status sẽ nhận giá trị "Đủ tuổi", nếu không thì nhận giá trị "Chưa đủ tuổi".
6. Toán tử kết hợp null (Null Coalescing Operator)
Toán tử null coalescing (??) là một cách đơn giản để kiểm tra giá trị null và có thể thay thế cho isset() trong nhiều trường hợp. Toán tử này trả về giá trị đầu tiên không phải là null.
Cú pháp:
$result = $var ?? default_value;Ví dụ:
$username = $_GET['username'] ?? 'Guest';
echo $username; // Nếu không có username trong query URL, kết quả sẽ là "Guest".Trong ví dụ này, nếu $_GET['username'] không tồn tại, giá trị mặc định "Guest" sẽ được sử dụng.
7. Cách hoạt động của if với các giá trị khác nhau
Trong PHP, các giá trị được chuyển đổi thành kiểu boolean khi được sử dụng trong câu lệnh if. Dưới đây là một số quy tắc chuyển đổi:
- True: Các giá trị như
true, số khác0, chuỗi không rỗng được coi là true. - False: Các giá trị như
false,0, chuỗi rỗng"", mảng rỗng, vànullđược coi là false.
Ví dụ:
if (0) {
echo "This is true";
} else {
echo "This is false"; // Kết quả: This is false
}
if ("Hello") {
echo "This is true"; // Kết quả: This is true
}8. Lưu ý về cấu trúc điều kiện
- Dấu ngoặc nhọn: Mặc dù bạn có thể bỏ qua dấu ngoặc nhọn
{}nếu chỉ có một dòng mã trong khốiif, nhưng việc sử dụng chúng luôn là một thói quen tốt để mã dễ đọc và tránh lỗi. - Ví dụ không nên dùng:
if ($age >= 18) echo "Bạn đã đủ tuổi trưởng thành.";- Ví dụ khuyên dùng:
if ($age >= 18) {
echo "Bạn đã đủ tuổi trưởng thành.";
}Kết luận
Câu lệnh if trong PHP là một công cụ mạnh mẽ cho phép bạn kiểm soát luồng thực thi của chương trình dựa trên các điều kiện cụ thể. Qua bài viết này, chúng ta đã tìm hiểu cách sử dụng câu lệnh if, if...else, if...elseif...else, cũng như các toán tử điều kiện như ternary operator và null coalescing operator. Việc nắm vững các cấu trúc điều kiện sẽ giúp bạn xây dựng các chương trình PHP linh hoạt và mạnh mẽ hơn.
Hãy tiếp tục theo dõi codetuthub.com để cập nhật thêm nhiều bài viết hữu ích khác về lập trình PHP trong series "Học ngôn ngữ lập trình PHP". Chúc bạn học tốt và thành công!








