Lệnh switch / case

Trong bài viết này, các bạn sẽ học cách sử dụng câu lệnh switch-case để kiểm tra hoặc đánh giá một biểu thức với các giá trị khác nhau trong PHP.

Lệnh Switch … Case trong PHP

Câu lệnh switch-case  là một câu lệnh thay thế cho câu lệnh if-elseif-else, gần như thực hiện điều tương tự.

Câu lệnh switch-case kiểm tra một biến đối với một chuỗi giá trị cho đến khi nó tìm thấy một kết quả phù hợp,rồi thực thi khối mã tương ứng với sự phù hợp đó.

switch (n) {
    caselabel1:
        // Mã được thực thi if n = label1
        break;
    
    caselabel2:
        // Mã được thực thi if n = label2
        break;
    ...
    default:
        // Mã được thực thi nếu n khác với tất cả các nhãn
}

Hãy xem thí dụ sau, thí dụ này hiển thị một thông báo khác nhau cho mỗi ngày.

Ví dụ

<?php
$today = date("D");
switch($today){
    case "Mon":
        echo "Today is Monday. Clean your house.";
        break;
    case "Tue":
        echo "Today is Tuesday. Buy some food.";
        break;
    case "Wed":
        echo "Today is Wednesday. Visit a doctor.";
        break;
    case "Thu":
        echo "Today is Thursday. Repair your car.";
        break;
    case "Fri":
        echo "Today is Friday. Party tonight.";
        break;
    case "Sat":
        echo "Today is Saturday. Its movie time.";
        break;
    case "Sun":
        echo "Today is Sunday. Do some rest.";
        break;
    default:
        echo "No information available for that day.";
        break;
}
?>

Các lệnh switch-case khác với lệnh if-elseif-else như sau:

Câu lệnh switch được thực thi từng dòng (tức là câu lệnh theo câu lệnh) và một khi PHP tìm thấy một câu lệnh case đánh giá là true,nó không chỉ thực thi mã tương ứng với câu lệnh trường hợp đó mà còn thực thi tất cả các case câu lệnh tiếp theo cho đến cuối khốiswitch một cách tự động.

Để ngăn chặn điều này, hãy thêm một break  câu lệnh vào cuối mỗi khối case. Câu lệnh break  yêu cầu PHP thoát ra khỏi khối câu lệnh switch-case khi nó thực thi mã được liên kết với trường hợp đúng đầu tiên.

 

Bài viết mới cập nhật