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;
}
?>
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;
}
Case Mặc Định trong Câu Lệnh Switch PHP
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ảy và Chủ 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;
}
?>
Gộp Case trong Câu Lệnh Switch PHP
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;
}
?>