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.







