Home » Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch)

Bài 5: Biểu Thức Điều Kiện Trong PHP (Lệnh if, else, switch)

PHP Conditional Expressions (If, else, switch statements)

by Tan Nguyen
14 minutes read

Biểu thức điều kiện trong PHP là tập hợp các câu điều kiện để thực hiện các hành động khác nhau dựa trên các điều kiện khác nhau.

Cũng tương tự như các ngôn ngữ lập trình khác, PHP hỗ trợ các biểu thức điều kiện sau:

  • if
  • if…else
  • if…elseif…else
  • switch
bieu thuc dieu kien trong php

Biểu Thức Điều Kiện Trong PHP

Giải thích: Chúng ta hầu hết đều biết các chương trình thường chạy theo một trình tự từ trên xuống mà không chừa bất kì một dòng code nào (ngoại trừ các dòng comment). Nhưng trong thực tế, đối với một số chương trình chúng ta cần chúng chạy theo nhiều luồng chứ không phải theo trình tự như vậy. Vì thế, biểu thức điều kiện đã ra đời.

Biểu thức điều kiện if

Biểu thức điều kiện if, hay còn thường gọi là câu điều kiện if cho phép ta đưa ra các quyết định dựa trên việc kiểm tra điều kiện nào đó đúng (true) hay sai (false).

Cú pháp

if(bieu-thuc-dieu-kien) {
  //Câu lệnh
}

Ví dụ

Cho một điều kiện để kiểm tra một số là số chẵn hay lẻ.

<?php
  $so=50;
  if($so % 2 == 0) { //điều kiện kiểm tra số chẵn
    echo "Số ".$so." là số chẵn";"
  }

  if($so >= 0) { //điều kiện kiểm tra số dương
    echo "Số ".$so." là số dương";
  }
?>

Giải thích:

  • Ta gán biến $so có giá trị là 50.
  • Kiểm tra phần dư sau khi lấy $so chia cho 2 có bằng 0 hay không (toán tử % dùng để chia lấy số dư, tham khảo lại toán tử trong Bài 4: Toán tử và biểu thức trong PHP). Nếu đúng thì echo ra kết quả.
  • Điều kiện kiểm tra số dương từ dòng số 7 trở đi cũng có ý nghĩa tương tự.

Biểu thức điều kiện if else trong PHP

Khái niệm

Nói một cách đơn giản, bạn sẽ thực hiện đoạn code thứ nhất được bao trong if() nếu điều kiện đặt ra là đúng (true), ngược lại nếu điều kiện đó là sai (false) thì bạn sẽ thực hiện đoạn code thứ 2 được bao bởi else. Trong trường hợp này, bạn sẽ phải dùng đến câu lệnh if else trong PHP.

if (biểu_thức_điều_kiện) {
   //câu lệnh 1
   //phần code này được thực thi nếu điều kiện là true
}
else {
   //câu lệnh 1
   //phần code này được thực thi nếu điều kiện là false
}

Giải thích:

  • Nếu biểu_thức_điều_kiện đúng thì Những Câu Lệnh 1 (bên trong if) sẽ được thực hiện và Những Câu Lệnh 2 (bên trong else) sẽ không được thực hiện.
  • Ngược lại nếu biểu_thức_điều_kiện sai thì những câu lệnh bên trong if sẽ bị bỏ qua và sẽ thực hiện những câu lệnh bên trong else.

Ví dụ

$so = 20;
if ($so % 2 == 0){
    echo 'Số ' . $so . ' Là Số Chẵn';
}
else{
    echo 'Số ' . $so . ' Là Số Lẻ';
}

Giải thích:

  • Ta gán biến $so có giá trị là 20.
  • Kiểm tra phần dư sau khi lấy $so chia cho 2 có bằng 0 hay không (toán tử % dùng để chia lấy số dư, tham khảo lại toán tử trong Bài 4: Toán tử và biểu thức trong PHP). Nếu đúng thì echo ra kết quả Số 20 Là Số Chẵn”, nếu sai thì cho ra Số 20 Là Số Lẻ”.

Biểu thức điều kiện if…elseif…else trong PHP

Nói đơn giản về ý nghĩa của biểu thức này hơn đó là kết hợp nhiều câu lệnh if else trong một bài code. Bới vì trong thực tế, không phải lúc nào cũng chỉ có 2 điều kiện mà sẽ có hàng chục điều kiện khác nhau, lúc này ta phải kết hợp nhuần nhuyễn giữa 2 lệnh if và else để xử lý bài toán.

Ví dụ: Ta xuất thông tin chào đón các học sinh vào năm học mới theo khối lớp của trường trung học cơ sở.

<html>
   <body>
      <?php
         $lop="Lop 6";
         if ($lop == "Lop 6")
            echo "Chào mừng các em học sonh lớp 6!";
         elseif ($lop == "Lop 7")
            echo "Chào mừng các em học sonh lớp 7!";
         elseif ($lop == "Lop 8")
            echo "Chào mừng các em học sonh lớp 8!";
         else
            echo "Chào mừng các em học sonh lớp 9!"; 
      ?>
   </body>
</html>

Giải thích:

  • Nếu $lop bằng ‘Lop 6’ thì xuất ra màn hình “Chào mừng các em học sinh lớp 6”,
  • Ngược lại nếu bằng ‘Lop 7’ thì xuất ra màn hình “Chào mừng các em học sinh lớp 7”,
  • Ngược lại nếu bằng ‘Lop 8’ thì xuất ra màn hình “Chào mừng các em học sinh lớp 8”,
  • Và Ngược lại không cần kiểm tra gì nữa vì là trương hợp cuối cùng, không phải là các trưởng hợp ở trên nên ta xuất ra màn hình “Chào mừng các em học sinh lớp 9”.

Biểu thức điều kiện if else lồng nhau trong PHP

Biểu thức điều kiện có rất nhiều biến thể, đặc biệt là các biểu thức được lồng vào nhau. Tức là sẽ có 1 hoặc nhiều câu điều kiện if con nằm trong một câu điều kiện if cha nào đó. (Riêng bản thân mình thường tự gọi đây là 1 dạng biểu thức điều kiện đa cấp).

Ví dụ: Cho một số và kiểm tra xem số đó bé hơn 100 hay không. Nếu bé hơn thì kiểm tra tiếp xem số đó có là số dương hay không. Nếu số đó cũng là số dương thì hãy kiểm tra tiếp xem số đó là số chẵn hay số lẻ. Sau đó xuất ra màn hình các kêt quả phù hợp.

<html>
<body>
    <?php
    $so = 800; // cho 1 giá trị là 80
    if ($so < 100) // Nếu số bé hơn 100, thì điều kiện kiểm tra là đúng và ta sẽ chạy tiếp câu lệnh bên trong
    {
        if ($so > 0) { // Nếu số lớn hơn 0 thì điều kiện kiểm tra là đúng và chạy tiếp lệnh bên trong
            if ($so % 2 == 0) { // Nếu số dư khi chia cho 2 = 0, tức là số chẵn ta sẽ chạy tiếp câu lệnh bên trong
                echo "So " . $so . " Là số chẵn, lớn hơn 0 và bé hơn 100";
            } else echo "So " . $so . " Là số lẻ, lớn hơn 0 và bé hơn 100";
        } elseif ($so % 2 == 0) { // Ngược lại đây sẽ là số bé hơn 0 và ta tiếp tục kiểm tra nếu số dư khi chia cho 2 = 0, tức là số chẵn ta sẽ chạy tiếp câu lệnh bên trong
            echo "So " . $so . " Là số chẵn và bé hơn 0";
        } else echo "So " . $so . " Là số lẻ và bé hơn 0";
    }
    else //trường hợp này đã ra ngoài phạm vi yêu cầu của đề bài, tức là số cho trước khi này sẽ lớn hơn 100
        echo "Ngoài vùng phủ sóng :3 ";
    ?>
</body>
</html>

Lưu ý khi dùng các biểu thức quan hệ if, if…else, if…elseif…else

  • Biểu Thức chứa trong cặp dấu ngoặc tròn () chính là các biểu thức quan hệ. Có thể kết hợp nhiều biểu thức quan hệ thông qua toán tử && (nghĩa là AND) hay || (nghĩa là OR)
  • Trong một khối lệnh nếu bên trong chứa nhiều hơn 2 lệnh thì phải có cặp ngoặc nhọn {} dùng để mở khối lệnh và đóng khối lênh, như vậy trình biên dịch sẽ hiểu đây là một khối lệnh và nó sẽ thực thi hết khối lệnh này.

Biểu thức Switch Trong PHP

Khái niệm

Câu lệnh switch trong php cho phép ta đưa ra quyết định có nhiều cách lựa chọn để giá trị của biểu thức truyền vào. Mục đích của lệnh switch hay được sử dụng để tránh các khối if…elseif…else quá dài.

switch ($variable) {
    case $value_1:
       // các câu lênh 1
       break;
    case $value_2:
        // các câu lệnh 2
        break;
    default:
        // các câu lệnh khác
        break;
        //phần code này được thực thi nếu biểu_thức là khác với $value_1, $value_2, ...
}

Giá trị ở case chỉ chấp nhận các kiễu dữ liệu string, INT, boolean, null, foat hoặc là một biểu thức có kết quả trả về một trong năm loại dữ liệu đó.

Toán tử quan hệ so sánh trong switch luôn luôn là ==

Ví dụ

Ta sẽ ví dụ một chương trình xác định 1 số và xuất ra tên tháng tương ứng với số đó.

<html>
<body>
    <?php
        $th = 1;
        switch ($th)
        {
            case 1:
                echo 'Tháng một';
                break;
            case 2:
                echo 'Tháng hai';
                break;
            case 3:
                echo 'Tháng ba';
                break;
            case 4 :
                echo 'Tháng bốn';
                break;
            case 5 :
                echo 'Tháng năm';
                break;
            case 6 :
                echo 'Tháng sáu';
                break;
            case 7 :
                echo 'Tháng bảy';
                break;
            case 8 :
                echo 'Tháng tám';
                break;
            case 9 :
                echo 'Tháng chín';
                break;
            case 10 :
                echo 'Tháng mười';
                break;
            case 11 :
                echo 'Tháng mười một';
                break;
            case 12 :
                echo 'Tháng mười hai';
                break;
            default:
                echo 'Tháng không tồn tại';
                break;
        }
    ?>
</body>
</html>

Switch case nested

Ngoài ra, cũng tương tự như câu lệnh if, câu lệnh switch cũng có thể lồng nhau.

<?php
$a = 5;
// Kiểm tra $a có phải là số nguyên không
$check = is_int($a); 
switch ($check) {
    // Nếu $a là số nguyên thì thực thi dòng lệnh bên dưới
    case "true": 
        switch ($a) {
            case 0:
                echo "a bằng 0";
                break;
            case 2:
                echo "a bằng 2";
                break;
            case 3:
                echo "a bằng 3";
                break;
            case 4:
                echo "a bằng 4";
                break;
            case 5:
                echo "a bằng 5";
                break;
            default:
                echo "$a";
        }
        break;
    default: // Nếu $a không là số nguyên thì thực thi dòng lệnh bên dưới
        echo "a không là số nguyên";
}
?>

Qua bài viết này mình đã giới thiệu sơ lược về các biểu thức điều kiện như if, if…else, if..elseif…else và câu lệnh switch để các bạn tự học và thực hành cho những bài toán sau này.

Nếu các bạn cảm thấy Website TanHongIT.Com thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!

Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

Xem thêm

CHÚC CÁC BẠN THÀNH CÔNG
5/5 - (3 votes)

Related Posts

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

0
Would love your thoughts, please comment.x
()
x