Tuyên bố chuyển đổi PHP
Câu lệnh switch
được sử dụng để thực hiện các hành động khác nhau dựa trên các điều kiện khác nhau.
Tuyên bố chuyển đổi PHP
Sử dụng câu lệnh switch
để chọn một trong nhiều khối mã sẽ được thực thi .
Cú pháp
switch ( expression ) {
case label1:
// code block
break;
case label2:
// code block;
break;
case label3:
// code block
break;
default:
// code block
}
Đây là cách nó hoạt động:
- Biểu thức được đánh giá một lần
- Giá trị của biểu thức được so sánh với giá trị của từng trường hợp
- Nếu trùng khớp, khối mã liên quan sẽ được thực thi
- Từ khóa
break
thoát ra khỏi khối switch - Khối mã
default
được thực thi nếu không khớp
Ví dụ
$favcolor = "red";
switch ($favcolor) {
case "red":
echo "Your favorite color is red!";
break;
case "blue":
"Your favorite color is blue!";
break;
case "green":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
Hãy tự mình thử » Từ khóa nghỉ giải lao
Khi PHP gặp từ khóa break
, nó sẽ thoát ra khỏi khối switch.
Điều này sẽ dừng việc thực thi nhiều mã hơn và không có trường hợp nào được kiểm tra nữa.
Khối cuối cùng không cần ngắt, khối vẫn bị ngắt (kết thúc) ở đó.
Cảnh báo: Nếu bạn bỏ qua câu lệnh break
trong một trường hợp không phải là trường hợp cuối cùng và trường hợp đó khớp thì trường hợp tiếp theo cũng sẽ được thực thi ngay cả khi đánh giá không khớp với trường hợp đó!
Ví dụ
Điều gì xảy ra nếu chúng ta loại bỏ câu lệnh break
khỏi trường hợp "đỏ"?
$favcolor
có màu đỏ, do đó khối mã từ trường hợp "red" được thực thi, nhưng vì nó không có câu lệnh break
nên khối mã từ trường hợp "blue" cũng sẽ được thực thi:
$favcolor = "red";
switch ($favcolor) {
case "red":
echo "Your favorite color is red!";
case "blue":
"Your favorite color is blue!";
break;
case "green":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
Hãy tự mình thử »Từ khóa mặc định
Từ khóa default
chỉ định mã sẽ chạy nếu không khớp kiểu chữ nào:
Ví dụ
Nếu không có trường hợp nào khớp, khối default
sẽ được thực thi:
$d = 4;
switch ($d) {
case 6:
echo "Today is Saturday";
break;
case 0:
echo "Today is Sunday";
break;
default:
echo "Looking forward to the Weekend";
}
Hãy tự mình thử » Trường hợp default
phải là trường hợp cuối cùng trong khối chuyển đổi:
Ví dụ
Được phép đặt khối default
ở nơi khác ngoài cuối khối switch
, nhưng không được khuyến khích.
$d = 4;
switch ($d) {
default:
echo "Looking forward to the Weekend";
break;
case 6:
echo "Today is Saturday";
break;
case 0:
echo "Today is Sunday";
}
Hãy tự mình thử » Lưu ý: Nếu default
không phải là khối cuối cùng trong khối switch
, hãy nhớ kết thúc khối default
bằng câu lệnh break
.
Khối mã chung
Nếu bạn muốn nhiều trường hợp sử dụng cùng một khối mã, bạn có thể chỉ định các trường hợp như sau:
Ví dụ
Nhiều trường hợp cho mỗi khối mã:
$d = 3;
switch ($d) {
case 1:
case 2:
case 3:
case 4:
case 5:
echo "The weeks feels so long!";
break;
case 6:
case 0:
echo "Weekends are the best!";
break;
default:
echo "Something went wrong";
}
Hãy tự mình thử »