Câu Lệnh Switch

Câu lệnh switch trong PHP được sử dụng khi trong chương trình chúng ta cần lựa chọn để chạy một đoạn code trong một danh sách các đoạn code cho trước. Đoạn code nào được chạy tuỳ thuộc vào giá trị trả về của một biến hoặc biểu thức cho trước.

Cú pháp của câu lệnh switch trong PHP như sau:

switch (biến_hoặc_biểu_thức) {
    case giá_trị_so_sánh_1:
        // code được thực thi nếu giá trị biểu thức bằng với giá_trị_so_sánh_1
        break;
    case giá_trị_so_sánh_2:
        // code được thực thi nếu giá trị biểu thức bằng với giá_trị_so_sánh_2
        break;
    case giá_trị_so_sánh_3:
        // code được thực thi nếu giá trị biểu thức bằng với giá_trị_so_sánh_3
        break;
    ...
    default:
        // code được thực thi nếu giá trị biểu thức khác với tất cả các giá trị so sánh ở trên
        break;
}

Ví dụ:

<?php
    $today = "Thứ Bảy";

    switch ($today) {
        case "Chủ Nhật":
            echo "Ngày cuối tuần.";
            break;

        case "Thứ Bảy":
            echo "Ngày cuối tuần.";
            break;

        case "Thứ Hai":
            echo "Ngày đầu tuần.";
            break;

        default:
            echo "Ngày trong tuần không phải là đầu tuần.";
            break;
    }
?>

Chạy Code

Case Mặc Định

Case mặc định default là case được lựa chọn để chạy nếu như không có các case nào được chạy:

<?php
$today = "Thứ Bảy";

switch ($today) {
    case "Thứ Bảy":
        echo "Ngày cuối tuần.";
        break;

    case "Chủ Nhật":
        echo "Ngày cuối tuần.";
        break;

    case "Thứ Hai":
        echo "Ngày đầu tuần.";
        break;

    default:
        echo "Ngày trong tuần không phải là thứ Hai.";
        break;
}

Chạy Code

Case mặc định trong câu lệnh switch là tuỳ ý và chúng ta hoàn toàn có thể không dùng nếu không cần thiết.

Gộp Case

Bạn có thể gộp các case lại nếu như đoạn code trong các case này là giống nhau, ví dụ trên có thể viết lại bằng cách gộp hai case Thứ BảyChủ Nhật làm một như sau:

<?php
    $today = "Thứ Bảy";

    switch ($today) {
        case "Thứ Bảy":
        case "Chủ Nhật":
            echo "Ngày cuối tuần.";
            break;

        case "Thứ Hai":
            echo "Ngày đầu tuần.";
            break;

        default:
            echo "Ngày trong tuần không phải là đầu tuần.";
            break;
    }

?>

Chạy Code

Câu Lệnh break trong switch

Kết thúc mỗi case (hay trường hợp) chúng ta cần đặt câu lệnh break ở phía cuối. Điều này áp dụng với cả case mặc định default.

Câu lệnh break trong switch giúp PHP dừng việc tiếp tục tiến hành kiểm tra các case phía sau. Nếu như chúng ta không sử dụng break thì PHP tiếp tục kiểm tra các case sau và nếu gặp case mặc định thì code trong case mặc định này cũng sẽ được chạy.

Ví dụ dưới đây quên không sử dụng câu lệnh break sau case đầu tiên, bạn thử nghĩ xem khi chạy kết quả hiển thị sẽ như thế nào :

<?php
    $today = "Chủ Nhật";

    switch ($today) {
        case "Chủ Nhật":
            echo "Ngày cuối tuần.";

        case "Thứ Bảy":
            echo "Ngày cuối tuần.";
            break;

        case "Thứ Hai":
            echo "Ngày đầu tuần.";
            break;

        default:
            echo "Ngày trong tuần không phải là đầu tuần.";
            break;
    }
?>

Chạy Code

Thêm Phản Hồi

Câu Hỏi Liên Quan

Hướng Dẫn Liên Quan