Tải bản đầy đủ (.docx) (5 trang)

Câu lệnh switch case trong php

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (92.56 KB, 5 trang )

Câu l ệnh switch case trong php
N ội dung chính


1. Câu l ệnh switch trong PHP



2. Switch và if



3. Switch l ồng nhau



3. L ời k ết

1. Câu l ệnh switch trong PHP
Câu l ệnh switch trong php cho phép ta đưa ra quy ết địn h 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:

1
2



switch ($variable) {
case $value_1:

3

// chuỗi câu lênh

4

break;

5

case $value_2:

6

// chuỗi câu lệnh

7

break;
default:

8

// chuỗi câu lệnh

9

10
11

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 $variable có bằng với biến điều
kiện $value_1, $value_2 hay không, nếu trùng với case nào thì những câu lệnh bên trong case đó
sẽ được thực hiện, đồng thời dòng lệnh break sẽ kết thúc câu lệnh switch. Nếu không có lựa chọn
(case) nào đúng thì mặc định nó sẽ chạy vào chuỗi dòng lệnh trong default, lệnh default trong mệnh
đề rẻ nhánh switch có thể có hoặc không.


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ằng 0 thì xuất dòng lênh “Số không”



Bằng 1 thì xuất dòng lệnh “Số một”



Bằng 2 thì xuất dòng lệnh “Số hai”




Bằng 3 thì xuất dòng lệnh “Số ba”



Bằng 4 thì xuất dòng lệnh “Số bốn”



Các số còn lại xuất hiện dòng lệnh “Không tìm thấy”

Bài giải:

1

$number = 1;

2

switch ($number)

3

{

4
5
6
7

8
9

case 0 :
echo 'Số không';
break;
case 1:
echo 'Số một';
break;
case 2:

10

echo 'Số hai';

11

break;

12
13
14
15
16
17

case 3:
echo 'Số ba';
break;
case 4 :

echo 'Số bốn';
break;
default:


18
19

echo 'Không tìm thấy';

20

break;
}

21
22

Giải thích:


Bước 1: Biểu thức truyền vào là biến $number có giá trị = 10



Bước 2: Ở case thứ nhất điều kiện là $number = 0 thì mới thực hiện, mà $number = 10 nên
không thỏa điều kiện




Bước 3: Tương tự cho các lệnh case còn lại đều không thỏa điều kiện.



Bước 4: Đến lệnh default, đây là lệnh được thực hiện khi các lênh case trên không có cái
nào thỏa điều kiện nên trên màn hình sẽ xuất hiện chữ “Không tìm thấy”.

Giả sử ta nhập biên $number = 2, bài toán trên sẽ được giải thích như sau:


Bước 1: Nhập $number = 2



Bước 2: Ở case thứ nhất không thỏa điều kiện vì 2 khác 0 nên chương trình sẽ qua Case
tiếp theo.



Bước 3: Ở case thứ 2 vẫn không thỏa điều kiện vì 2 khác 1 nên chương trình sẽ qua Case
tiếp theo



Bước 4: Ở case thứ 3 này thỏa điều kiện vì 2 bằng 2, lúc này chương trình sẽ chạy vào các
câu lệnh bên trong nên xuất ra màn hình chữ ‘Số hai’, đồng thời dòng Break d ừng luôn cả
chương trình rẻ nhánh này vì đã thỏa mãn. Kết thúc chương trình

2. Switch và if
Lệ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:

1

$number = 10;

2

if ($number == 0){


3
echo 'Số không';

4
5
6
7

}
else if ($number == 1){
echo 'Số một';
}

8

else if ($number == 2){


9

echo 'Số hai';

10

}

11

else if ($number == 3){

12

echo 'Số ba';

13
14
15
16

}
else if ($number == 4){
echo 'Số bốn';
}
else {

17
18


echo 'Không tìm thấy';
}

19

3. Switch l ồng nhau
Cũng như lệnh if, lệnh switch cũng có thể lồng nhau.
Ví dụ:

1

$number = 12;

2

$midle = null;

3

switch ($number)

4
5
6
7

{
case 12 : // nếu $number = 12
$midle = $number % 2; // lấy số dư

switch ($midle)
{


8
9

case 0 : // nếu số dư = 0

10

echo 'Số chẵn';

11

break;
default :

12

echo 'Số lẽ';

13

break;

14

}


15

break;

16

default: // nếu không phải 12 thì không làm gì

17
18
19

break;
}



×