Lệnh Switch, Case trong PHP
Trong hướng dẫn này, 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 If… Else và 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 đó.
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 xét ví dụ sau, ví 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ệnhswitch-case
khác với lệnhif-elseif-else
trong một cách quan trọng. Câu lệnh switch
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áccase
câu lệnhtiếp theocho đến cuốikhối switch
một cách tự động.
Để ngăn chặn điều này, hãy thêm mộtbreak
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.