Show Câu lệnh switch case
Câu lệnh switch case cơ bảnCấu trúc<?php switch (a) { case value1: code được thực thi nếu a = value1; break; case value2: code được thực thi nếu a = value2; break; case value3: code được thực thi nếu a = value3; break; ... default: code được thực thi nếu a không có các giá trị value trên; } ?>
Ví dụ<?php $a = 5; switch ($a) { case 0: echo "a bằng 0"; break; case 2: echo "a bằng 2"; break; case 3: echo "a bằng 3"; break; case 4: echo "a bằng 4"; break; case 5: echo "a bằng 5"; break; default: echo "$a"; } ?> Trường hợp case 5 đúng nên được thực thi. Câu lệnh switch case kết hợpBên trong swith case có thể sử dụng nhiều biểu thức, các câu lệnh, vòng lặp hoặc function. Ví dụ câu lệnh if else bên trong câu lệnh switch case<?php $a = 5; switch ($a) { case 0: echo "a bằng 0"; break; case 2: echo "a bằng 2"; break; case 3: echo "a bằng 3"; break; case 4: echo "a bằng 4"; break; case 5: $a /= 2; if (is_int($a)) { echo "a là số nguyên"; } else { var_dump($a); } break; default: echo "$a"; } ?> Case 5 đúng nên được thực thi, Ví dụ câu lệnh switch case lồng nhau<?php $a = 5; $check = is_int($a); // Kiểm tra $a có phải là số nguyên không switch ($check) { case "true": // Nếu $a là số nguyên thì thực thi dòng lệnh bên dưới switch ($a) { case 0: echo "a bằng 0"; break; case 2: echo "a bằng 2"; break; case 3: echo "a bằng 3"; break; case 4: echo "a bằng 4"; break; case 5: echo "a bằng 5"; break; default: echo "$a"; } break; default: // Nếu $a không là số nguyên thì thực thi dòng lệnh bên dưới echo "a không là số nguyên"; } ?> Sử dụng case liên tục trong swich caseNếu muốn tạo nhiều trường hợp khác nhau, và giá trị ứng với một trong các điều kiện đó thì ta có thể sử dụng case liên tục. Ví dụ<?php $a = 5; switch ($a) { case 0: echo "a bằng 0"; break; case 2: echo "a bằng 2"; break; case 3: case 4: case 5: case 6: echo "a có giá trị trong khoảng từ 3 đến 6"; break; default: echo "$a"; } ?> a có giá trị trong khoảng từ 3 đến 6 Các dùng tương tự như điều kiện Đóng và mở phạm vi câu lệnh swichĐây là cách viết ký hiệu cho dòng lệnh dễ kiểm soát hơn, dễ phân biệt được đóng và mở của câu lệnh switch khi dòng code dài, tránh nhầm lẫn với đóng của các câu lệnh khác. Ví dụ<?php $a = 5; switch ($a) : case 0: echo "a bằng 0"; break; case 2: echo "a bằng 2"; break; case 3: echo "a bằng 3"; break; case 4: echo "a bằng 4"; break; case 5: echo "a bằng 5"; break; default: echo "$a"; endswitch; ?> Các dùng tương tự như điều kiện Như ta đã biết, câu lệnh if else dùng để kiểm tra và rẽ nhánh cách mệnh đề của bài toán. Nhưng không phải nó là duy nhất, trong php có một câu lệnh khác đó là lệnh rẻ nhanh switch case. Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Trong bài này ta sẽ tìm hiểu ba vấn đề chính:
1. Câu lệnh switch trong PHPCâu lệnh switch trong php cho phép ta đưa ra quyết định có nhiều cách lựa chọn để giá trị của biểu thức truyền vào. Nếu giá trị biểu thức truyền vào trùng với các giá trị biểu thức điều kiện thì các câu lệnh bên trong biểu thức điều kiện sẽ được thực hiện. Cú pháp: Bài viết này được đăng tại [free tuts .net] switch ($variable) { case $value_1: // chuỗi câu lênh break; case $value_2: // chuỗi câu lệnh break; default: // chuỗi câu lệnh break; } Trong đó lệnh switch, case và default là các từ khóa trong PHP. Các chuỗi câu lệnh có thể là lệnh đơn (1 lệnh) hoặc lệnh ghép (kết hợp
nhiều lệnh) và không cần đặt trong cặp dấu ngoặc nhọn {}. Ở mỗi dòng lệnh lựa chọn (case) nó sẽ so sánh xem biến truyền vào Giá
trị ở case chỉ chấp nhận các kiễu dữ liệu string, INT, boolean, null, foat hoặc là một biểu thức có kết quả trả về một trong năm loại dữ liệu đó và toán tử quan hệ so sánh trong switch luôn luôn là Ví dụ: Viết chương nhập vào một số, dùng lệnh rẻ nhánh switch kiểm tra số đó nếu:
Bài giải: $number = 1; switch ($number) { case 0 : echo 'Số không'; break; case 1: echo 'Số một'; break; case 2: echo 'Số hai'; break; case 3: echo 'Số ba'; break; case 4 : echo 'Số bốn'; break; default: echo 'Không tìm thấy'; break; } Giải thích:
Giả sử ta nhập biên
2. Switch và ifLệnh If và lệnh Switch là 2 dạng lệnh rẻ nhánh trong PHP, tuy nhiên lệnh if vẫn linh hoạt hơn switch và tốc độ cũng nhanh hơn. Với những bài toán ta thể hiện bằng switch thì hoàn toàn có thể chuyển thành if, ngược lại những bài toán ta dùng lệnh if để thể hiện thì chưa chắc đã chuyển qua lệnh switch đươc. Với bài toán trên ta thể hiện bằng câu lệnh if như sau: $number = 10; if ($number == 0){ echo 'Số không'; } else if ($number == 1){ echo 'Số một'; } else if ($number == 2){ echo 'Số hai'; } else if ($number == 3){ echo 'Số ba'; } else if ($number == 4){ echo 'Số bốn'; } else { echo 'Không tìm thấy'; } 3. Switch lồng nhauCũng như lệnh if, lệnh switch cũng có thể lồng nhau. Ví dụ: $number = 12; $midle = null; switch ($number) { case 12 : // nếu $number = 12 $midle = $number % 2; // lấy số dư switch ($midle) { case 0 : // nếu số dư = 0 echo 'Số chẵn'; break; default : echo 'Số lẽ'; break; } break; default: // nếu không phải 12 thì không làm gì break; } 3. Lời kếtTrong bài học này hy vọng các bạn hiểu được cách sử dụng lệnh switch case trong php và có những quyết định sáng suốt trong việc lựa chọn giữa lệnh switch và lệnh if. Trong bài học tới chúng ta sẽ nghiên cứu về vòng lặp, có 4 loại vòng lặp trong php nhưng chúng ta nghiên cứu vòng lặp for trước. |