Chào mừng các bạn đã trở lại với Series Học PHP và MySQL từ cơ bản đến nâng cao. Bài học hôm nay chúng ta sẽ cùng tìm hiểu về câu lệnh Switch – Case trong PHP.

Như ta đã biết, câu lệnh if else dùng để kiểm tra và rẽ nhánh cách mệnh đề của bài toán. Nhưng không phải nó là duy nhất, trong PHP có một câu lệnh khác đó là lệnh rẽ nhánh switch case.

Trong bài này ta sẽ tìm hiểu ba vấn đề chính:

  • Câu lệnh switch.
  • Switch và if.
  • Switch lồng nhau.

Cú pháp:

switch($variable) {
    case$value_1:
       // chuỗi câu lênh
       break;
    case$value_2:
        // chuỗi câu lệnh
        break;
    default:
        // chuỗi câu lệnh
        break;
}

Trong đó lệnh switchcase và default là các từ khóa trong PHP. Các chuỗi câu lệnh có thể là lệnh đơn (1 lệnh) hoặc lệnh ghép (kết hợp nhiều lệnh) và không cần đặt trong cặp dấu ngoặc nhọn {}. Ở mỗi dòng lệnh lựa chọn (case) nó sẽ so sánh xem biến truyền vào $variable có bằng với biến điều kiện $value_1, $value_2 hay không, nếu trùng với case nào thì những câu lệnh bên trong case đó sẽ được thực hiện, đồng thời dòng lệnh break sẽ kết thúc câu lệnh switch. Nếu không có lựa chọn (case) nào đúng thì mặc định nó sẽ chạy vào chuỗi dòng lệnh trong default, lệnh default trong mệnh đề rẽ nhánh switch có thể có hoặc không.

Giá trị ở case chỉ chấp nhận các kiễu dữ liệu string, INT, boolean, null, float 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 đó và toán tử quan hệ so sánh trong switch luôn luôn là ==.

Lý thuyết dài dòng quá nhỉ? Chúng ta cùng làm ví dụ sau để hiểu hơn.

Ví dụ: Viết chương nhập vào một số, dùng lệnh rẻ nhánh switch kiểm tra số đó nếu:

  • Bằng 0 thì xuất dòng lênh “Số không”.
  • Bằng 1 thì xuất dòng lệnh “Số một”.
  • Bằng 2 thì xuất dòng lệnh “Số hai”.
  • Bằng 3 thì xuất dòng lệnh “Số ba”.
  • Bằng 4 thì xuất dòng lệnh “Số bốn”.
  • Các số còn lại xuất hiện dòng lệnh “Không tìm thấy”.

Qua ví dụ này bạn đã hiểu cái lý thuyết dài dòng ở trên rồi chứ?

SWITCH LỒNG NHAU

Tương tự như if, lệnh switch cũng có thể lồng nhau.

Ví dụ:

Download Sourse code tại đây.

Bài học tiếp theo “Vòng lặp trong PHP”.