Ở bài trước mình đã giới thiệu về câu lệnh điều khiển IF - ELSE. Hôm nay, mình sẽ giới thiệu cho các bạn về khái niệm và cách sử dụng của câu lệnh điều khiển tiếp theo SWITCH - CASE. Câu lệnh có cấu trúc khá giống với IF - ELSE tuy nhiên cũng có một vài điểm khác mình sẽ trình bày trong phần chi tiết bài viết. Nào bắt đầu thôi.

Cú pháp

switch ($bien) {
    case $giatri1:
       //chuỗi các câu lệnh
       break;
    case $giatri2:
        //chuỗi các câu lệnh
        break;
  case $giatri3:
        //chuỗi các câu lệnh
        break;
    default:
        //chuỗi các câu lệnh
        break;
}

Đầu vào chương trình sẽ truyền vào giá trị $bien. Chương trình sẽ so sánh giá trị $bien xem giá trị biến có bằng các giá trị đứng sau Case. Nếu 2 giá trị bằng nhau, chương trình sẽ thực thi chuỗi câu lệnh ngay sau Case có giá trị bằng $bien truyền vào và thoát khỏi khối lệnh Switch bằng lệnh break; . Nếu không có giá trị bằng trong các Case. Chương trình sẽ thực thi khối lệnh default và thoát ra bằng lệnh break;. Một điều lưu ý là phép so sánh giá trị trong Switch chỉ chấp nhận phép so sánh bằng (==).

Ví dụ

Bài toán mình đưa ra ở đây là sẽ nhập vào các số từ 2 - 8 nếu đúng sẽ in ra "hôm nay là thứ ..." tương ứng với các thứ tương đương từ thứ 2 đến chủ nhật. Còn nếu sai sẽ in ra dòng "giá trị nhập vào không hợp lệ".

switch ($ngay) {
    case 2:
      echo "hôm nay là thứ hai";
       break;
    case 3:
      echo "hôm nay là thứ ba";
       break;
    case 4:
      echo "hôm nay là thứ tư";
       break;
    case 5:
      echo "hôm nay là thứ năm";
       break;
    case 6:
      echo "hôm nay là thứ sáu";
       break;
    case 7:
      echo "hôm nay là thứ bảy";
       break;
    case 8:
      echo "hôm nay là chủ nhật";
       break;
    default:
        echo "giá trị nhập vào không hợp lệ"
        break;
}

 

Kết bài

Vừa rồi mình đã giới thiêu với các bạn về khái niệm, cú pháp và cách sử dụng của câu lệnh Switch - Case. Trong bài sau chúng ta sẽ tiếp tục với các vòng lặp trong PHP. Mọi thắc mắc và góp ý về bài viết các bạn hãy để lại comment lại phía dưới cho mình nhé. :))