Mệnh đề if-else trong PHP

Mệnh đề if-else trong PHP
Mệnh đề if-else trong PHP

Mệnh đề if-else trong PHP là gì?

Mệnh đề if-else trong PHP là một cấu trúc điều khiển để lọc những thành phần đủ điều kiện cần lấy, giúp lập trình viên lấy được những dữ liệu, kết quả phù hợp với yêu cầu của người dùng.

Các loại Mệnh đề if-else trong PHP

Mệnh đề if trong PHP

Ở đây mình xét nếu tuổi lớn hơn hoặc bằng 18 thì sẽ thông báo đủ 18 tuổi, trường hợp này chỉ xét đủ điều kiện thì đưa ra thông báo:

<?php
$tuoi = 35;
if($tuoi>=18){
echo "Đã đủ 18 tuổi";
}
?>

Chạy Thử

Mệnh đề if-else trong PHP

Nếu thỏa yêu cầu thì sẽ thực hiện thông báo thỏa yêu cầu, phần ngược lại sẽ không thỏa yêu cầu ban đầu đưa ra:

<?php
$tuoi = 16;
if($tuoi>=18){
echo "Đã đủ 18 tuổi";
}else{
echo "Chưa đủ 18 tuổi";
}
?>

Chạy Thử

Mệnh đề if-else-if trong PHP

Xét nhiều điều kiện khác nhau, nếu không thuộc tất cả các điều kiện đó thì sẽ vô trường hợp ngược lại:

<?php
$lop = (int)10;
if($lop<6 && $lop >0){
echo "Đang học cấp tiểu học";
}else if ($lop < 10 &&  $lop >5 ){
echo "Đang học cấp trung học cơ sở";
}else if ($lop < 13 &&  $lop >9 ){
echo "Đang học cấp trung học phổ thông";
}else{
echo "Chưa rõ";
}
?>

Chạy Thử

Mệnh đề if lồng nhau trong PHP

Xét từng điều kiện lớn, trong mỗi điều kiện lớn sẽ chia ra nhiều điều kiện nhỏ:

<?php
$conso= (int)19;
if($conso>0){
if($conso <100){
 echo "Con số hàng chục";
}
if($conso <1000 && $conso >99 ){
 echo "Con số hàng trăm";
}
}else if($conso<0){
echo "Con số âm";
}else{
echo "Con số không";
}
?>

Chạy Thử

Cách sử dụng if-else trong PHP hiệu quả

Viết điều kiện trong PHP không chỉ là kiểm tra một biểu thức đúng hay sai. Khi chương trình có nhiều trường hợp xử lý, cách sắp xếp điều kiện ảnh hưởng trực tiếp đến độ rõ ràng, khả năng bảo trì và hạn chế lỗi trong mã nguồn. Vì vậy, nên xây dựng điều kiện theo hướng dễ đọc, ưu tiên trường hợp quan trọng và tránh lồng ghép quá nhiều logic trong cùng một khối.

Cách kết hợp nhiều điều kiện trong PHP

Khi một quyết định phụ thuộc vào nhiều tiêu chí, PHP cho phép kết hợp các điều kiện bằng toán tử &&, ||!. Trong đó, && yêu cầu các điều kiện liên quan cùng đúng, còn || chỉ cần một điều kiện đúng. Việc đặt ngoặc giúp thể hiện rõ thứ tự ưu tiên và tránh hiểu sai ý định của đoạn mã.

<?php
$age = 25;
$hasAccount = true;

if ($age >= 18 && $hasAccount) {
    echo "Được phép tiếp tục";
}
?>

Với các điều kiện phức tạp, nên tách từng tiêu chí thành biến có tên dễ hiểu thay vì viết một biểu thức quá dài. Cách này giúp người đọc nhanh chóng nhận biết chương trình đang kiểm tra điều gì và thuận tiện hơn khi cần thay đổi logic sau này.

Khi nào nên dùng if-else và if-else-if?

if-else phù hợp khi chương trình chỉ cần xử lý hai hướng rõ ràng, chẳng hạn một trường hợp thỏa điều kiện và một trường hợp còn lại. Nếu có nhiều khả năng khác nhau cần kiểm tra theo thứ tự, if-else-if sẽ phù hợp hơn.

<?php
$score = 82;

if ($score >= 90) {
    echo "Xuất sắc";
} elseif ($score >= 80) {
    echo "Tốt";
} elseif ($score >= 65) {
    echo "Khá";
} else {
    echo "Cần cải thiện";
}
?>

Nên sắp xếp các điều kiện theo một logic nhất quán. Với những trường hợp có phạm vi giá trị, hãy xử lý điều kiện từ mức cao xuống thấp hoặc ngược lại để tránh trường hợp một điều kiện phía trước đã bao phủ mất các điều kiện phía sau.

Những lỗi thường gặp khi viết điều kiện if-else

Một lỗi phổ biến là nhầm giữa ===. Dấu = dùng để gán giá trị, trong khi == dùng để so sánh. Khi cần so sánh cả giá trị và kiểu dữ liệu, nên ưu tiên === để hạn chế những kết quả không mong muốn do PHP tự chuyển đổi kiểu.

<?php
$value = "10";

if ($value === 10) {
    echo "Hai giá trị giống nhau";
} else {
    echo "Khác giá trị hoặc khác kiểu dữ liệu";
}
?>

Ngoài ra, điều kiện quá dài, lồng nhiều tầng hoặc đặt các nhánh xử lý không theo trình tự cũng khiến mã nguồn khó kiểm tra. Khi gặp trường hợp này, nên chia nhỏ điều kiện, đặt tên biến rõ nghĩa và loại bỏ những kiểm tra dư thừa. Một cấu trúc đơn giản thường dễ đọc và ít phát sinh lỗi hơn khi dự án tiếp tục được phát triển.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Mệnh đề if-else trong PHP.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Mệnh đề if-else trong PHP
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !