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

Câu lệnh if else 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 (145.03 KB, 7 trang )

Câu l ệnh if else trong php
N ội dung chính


1. Câu l ệnh đi ều ki ện là gì ?



2. Câu l ệnh đi ều ki ện if



3. Câu l ệnh If else trong php



4. K ết h ợp nhi ều câu l ệnh if else trong php



5. Câu l ệnh if else l ồng nhau



6. L ời k ết

1. Câu l ệnh đi ều ki ện là gì ?
Câu l ệnh đi ều ki ện if else cho phép ta thay đổi lu ồng c ủa ch ươ
n g trình d ựa trên m ột đi ều ki ện nào
đó . N ếu đi ều ki ện là đú ng (true) thì ch ươn g trình s ẽđược th ự
c hi ện, ng ược l ại n ếu đi ều ki ện đưa ra


là sai (false) thì n ội dung công vi ệc đó s ẽkhông được th ự
c hi ện.
Ví d ụ: để ki ểm tra m ột s ốlà s ốch ẵn hay s ốl ẻta th ự
c hi ện các b ước sau:
B ướ
c 1: L ấy s ốc ần ki ểm tra
B ướ
c 2: Chia s ốđó cho 2 để xác địn h s ốd ư
B ướ
c 3: Ki ểm tra s ốd ưđó có b ằng 0 hay không, n ếu b ằng 0 thì đó là s ốch ẵn, ng ượ
c l ại đó là s ốl ẻ.
Để gi ải bài toán này qua ngôn ng ữPHP thì tr ước tiên ta tìm hi ểu cú pháp câu đi ều ki ện if else trong
php đã nhé.

2. Câu l ệnh đi ều ki ện if
Câu l ệnh if cho phép ta đưa ra các quy ết địn h d ự
a trên vi ệc ki ểm tra đi ều ki ện nào đó đú ng (true)
hay sai (false). Cú pháp nh ưsau:

1

if ($bieuthuc)

2

{
// Các Câu Lệnh

3
4


}

Ví dụ: Ch ương trình ki ểm tra m ột s ố ch ẵn hay l ẻ


1

$so_can_kiem_tra = 12;

2

$so_du = $so_can_kiem_tra % 2;

3

if ($so_du == 0){
echo 'Số '.$so_can_kiem_tra.' Là Số Chẵn';

4
}

5

Dòng thứ 1: Gán cho biến $so_can_kiem_tra giá trị = 12
Dòng thứ 2: Chia biến $so_can_kiem_tra / 2 và lấy số dư của phép chia (toán tử % dùng để chia lấy
số dư, nếu bạn chưa biết toán tử này vui lòng đọc lại bài toán tử và biểu thức trong php).
Dòng thứ 3: Kiểm tra số dư có bằng 0 hay không? Nếu bằng không thì nó sẽ chạy dòng l ệnh bên
trong thẻ mở { và thẻ đóng }. Nội dung câu lệnh bên trong sẽ xuất ra màn hình thống báo là số
chẵn.

Chạy chương trình này kết quả sẽ xuất ra là "Số 12 Là Số Chẵn". Bây giờ giả sử ta đổi giá trị 12
thành 13 thì kết quả sẽ không xuất ra màn hình vì số 13 chia cho 2 sẽ dư = 1, mà điều kiện để xuất
ra câu thông báo là số dư phải bằng 0 => không đúng điều kiện nên trình biên dịch sẽ không chạy
vào đoạn code bên trong lệnh if.


Biểu Thức chứa trong cặp dấu ngoặc () chính là các biêu thức quan hệ



Toán tử dấu chấm . dùng để nối hai chuỗi lại với nhau.



Trong một khối lệnh nếu bên trong chứa nhiều hơn 2 lệnh thì phải có cặp ngoặc
nhọn {} dùng để mở khối lệnh và đóng khối lênh, như vậy trình biên dịch sẽ hiểu đây là một
khối lệnh và nó sẽ thực thi hết khối lệnh này. Ở ví dụ trên trong câu if chỉ có một lệnh xu ất ra
màn hình nên cặp ngoặc nhọn này ta có thể có hoặc không có cũng không sao.

Ví dụ: Chương trình kiểm tra có phải năm nhuận hay không?
(Năm nhuận là năm chia hết cho 4 hoặc 400 nhưng không chia hết cho 100 )
Bước 1: Nhập vào năm cần kiểm tra.
Bước 2: kiểm tra xem năm đó có chia hết cho 4 hoặc là 400 hay không
Bước 3: Xuất ra màn hình nếu điều kiện ở bước 2 là đúng.
Bài giải:

1

$nam = 1990;


2

$kiem_tra = ($nam % 4 == 0 && $nam % 100 != 0 || $nam % 400 == 0);

3

if ($kiem_tra == true){
echo 'Năm ' . $nam . ' Là Năm Nhuận';


4

}

5

Trong đoạn code trên thì biểu thức điều kiện là khó nhất nên mình s ẽ gi ải thích nó. Để tính được
biểu thức này trước tiên ta phải biết độ ưu tiên trong toán tử luận lý theo quy luật là : NOT -> AND ->
OR
Trong biểu thức ta không thấy toán tử NOT, có toán tử AND nên ta thực hiện phép này tr ước, t ức
là:
($nam % 4 == 0 && $nam % 100 != 0) <=> (1990 % 4 == 0 && 19900 != 0) <=>(false && true) =>
false
Lúc này biểu thức ($nam % 4 == 0 && $nam % 100 != 0 || $nam % 400 == 0) sẽ thành:
(false || $nam % 400 = 0) <=>(false || false) => false
Vậy kết quả của biểu thức là false. Vì trong câu if điều kiện nhập vào là phải true mới thực hiện
xuất ra màn hình, nhưng biến kiểm tra lại mang giá trị false nên những dòng lệnh bên trong cặp
ngoặc nhọn không được thực hiện => nên chương trình không in ra câu thông báo.

3. Câu l ệnh If else trong php

Lệnh if dùng để kiểm tra một điều kiện có đúng hay không? Giả sử trường hợp ngược lại điều ki ện
không đúng thì sẽ thực hiện điều gì ? để giải đáp câu hỏi này ta sẽ nghiên cứu đến lệnh if else trong
php

1

if ($bieuthuc){

2

// Những Câu Lệnh 1;

3

}

4

else{
// Những câu lệnh 2;

5
}

6

Giải thích ý nghĩa:


Nếu $bieuthuc đúng thì Những Câu Lệnh 1 sẽ được thực hiện và Những Câu Lệnh 2 sẽ

không được thực hiện.



Ngược lại thì nó sẽ không cần kiểm tra nữa và thực hiện Những Câu Lệnh 2.

Ví dụ: kiểm tra năm nay là năm chẵn hay năm lẽ, xuất ra màn hình kết quả chẵn hay lẽ.
Bước 1: Nhập năm
Bước 2: Chia cho 2 và lấy số dư


Bước 3: Kiểm tra xem số dư có bằng 0 hay không? Nếu bằng không là năm chẵn, ngược lại là năm
lẽ

1

$nam = 2014;

2

$so_du = $nam % 2;

3

if ($so_du == 0){

4

echo 'Năm ' . $nam . ' Là Năm Chẵn';


5

}

6

else{
echo 'Năm ' . $nam . ' Là Năm Lẻ';

7
}

8

Giải thích
Bước 1: Nhập vào biến $nam giá trị 2014;
Bước 2: Lấy số dư khi chia năm 2014 cho 2 và gán vào biến $so_du (lúc này số dư = 0)
Bước 3: Kiểm tra xem $so_du == 0 hay không? vì số dư bằng 0 nên thõa mãn điều kiện nên nó
chạy vào biểu thức trong khối ifvà xuất ra màn hình “Năm 2014 Là Năm Chẵn”. Nó sẽ không đoạn
code ở trong câu lệnh else.
Giả sử ta nhập $nam =2013 ta thực hiện tương tự:
Bước 1: Nhập vào biến $nam giá trị 2013
Bước 2: Lấy số dư khi chia năm 2014 cho 2 và gán vào biến $so_du (lúc này số dư = 1)
Bước 3: Kiểm tra xem $so_du == 0 hay không? vì số dư bằng 1 khác 0 nên nó sẽ bỏ qua khối lệnh
trong if và chạy vào khối lệnh trong else nên xuất ra màn hình “Năm 2013 Là N ăm Lẻ”.

4. K ết h ợp nhi ều câu l ệnh if else trong php
Trong thực tế không phải lúc nào cũng chỉ có 2 điều kiện mà sẽ có hàng chục điều kiện khác nhau,
lúc này ta phải kết hợp nhuần nhuyễn giữa 2 lệnh if và else để xử lý.
Ví dụ: Nhập vào một màu và kiểm tra:



Nếu là màu xanh thì xuất ra màn hình dòng chữ “Đây Là Màu Xanh”.



Nếu là màu đỏ thì xuất ra dòng chữ “Đây là màu đỏ”.



Nếu là màu vàng thì xuất ra dòng chữ “Đây là màu vàng”.



Các màu còn lại thì xuất ra dòng chữ “Các màu khác”.


Hướng dẫn:
Bước 1: Nhập màu
Bước 2: Kiểm tra giá trị của màu xem :


Nếu màu bằng ‘màu xanh’ thì xuất ra màn hình “Đây là màu xanh”,



Ngược lại nếu bằng ‘màu đỏ’ thì xuất ra màn hình “Đây là màu đỏ”,




Ngược lại nếu bằng ‘màu vàng’ thì xuất ra màn hình ‘Đây là màu vàng’,



Ngược lại không cần kiểm tra gì nữa vì là trương hợp cuối cùng, không phải là các tr ưởng
hợp ở trên nên ta xuất ra màn hình “Các màu khác”.

Bài giải:

1
2
3
4
5

$mau = 'màu xanh';

if ($mau == 'màu xanh'){
echo 'Đây là màu xanh';
}

6

else if ($mau == 'màu đỏ')

7

{

8


echo "Đây là màu đỏ";

9

}

10

else if ($mau == 'màu vàng'){
echo 'Đây là màu vàng';

11
12
13
14

}
else{
echo 'Các màu khác';
}

15
Giải thích:
Bước 1: Nhập màu xanh vào biến $mau


Bước 2: Đế n dòng lệnh kiểm tra phải màu xanh không, vì nó bằng ‘màu xanh’ nên bên trong kh ối
lệnh if của màu xanh sẽ được chạy và xuất ra màn hình dòng chữ “Đây là màu xanh”, đồng th ời nó
không chạy các dòng lệnh bên dưới nữa.

Giả sử ta nhập biến $mau = ‘màu vàng’ thì các bước chạy sẽ như sau:
Bước 1: Nhập màu vàng vào biến $mau
Bước 2: Đến dòng lệnh kiểm tra có phải màu xanh không? Vì không đúng nên bỏ qua khối l ệnh này
Bước 3: Đến dòng lệnh kiểm tra phải màu đỏ không? Vì không đúng nên cũng b ỏ qua khối l ệnh màu
đỏ này
Bước 4: Đến dòng lệnh kiểm tra có phải màu vàng không, Vì đúng nên bên trong khối màu vàng s ẽ
được chạy và in ra màn hình chữ “Đây là màu vàng” và đồng thơi không chạy vào câu lệnh else ở
bên dưới vì đã đúng điều kiện
Giả sử ta nhập biến $mau = ‘màu nâu’ thì như thế nào? Tương tự trình biên dịch sẽ kiểm tra lần
lược các màu xanh, đỏ, vàng đều không đúng, ở cái else cuối cùng là trường hợp còn l ại của các
trường hợp trên nên nó không cần kiểm tra và chạy thẳng vào luôn nên màn hình sẽ in ra dòng ch ữ
“Các màu khác”.
Note: Ta có thể chuyển dòng code thành ngôn ngữ bình thường được, ví dụ nh ư bài toán trên tôi s ẽ
chuyển sang tiếng việt như sau:
Nếu màu xanh thì tôi xuất ra màn hình dòng chữ “đây là màu xanh”, ng ược lại n ếu màu đỏ thì tôi
xuất ra màn hình dòng chữ “Đây là màu đỏ”, ngược lại nếu màu vàng thì tôi xuất ra màn hình dòng
chữ “Đây là màu vàng”, không phải các trường hợp trên thì tôi xuất ra màn hình dòng chữ “Các màu
khác”.

5. Câu l ệnh if else l ồng nhau
Đây là phần khó nhất trong tất cả các vấn đề của câu lệnh if else trong php, ở bên trên ta chỉ ch ạy
câu lệnh if else một tầng, ở phần này ta sẽ nghiên cứu đến if else nhiều tầng lồng nhau, có nghĩa là
câu if con nằm trong câu if cha.

1
2

if ($bieu_thuc_cha)
{


3

// Các câu lệnh thuộc về biểu thức cha;

4

if ($bieu_thuc_con){
// Các câu lệnh thuộc về biểu thức con;

5
}

6
7

}

Ví dụ: Kiểm tra sô nhập vào có ph ải là s ố ch ẵn hay không? N ếu là s ố ch ẵn thì ki ểm tra ti ếp s ố đó có
l ớn h ơn100 hay không, n ếu l ớn h ơn 100 thì xu ất ra màn hình “S ố ch ẵn và l ớn h ơn 100 ″, ng ược l ại
xuất ra màn hình “S ố ch ẵn và nh ỏ h ơn 100 ″.


Bước 1: Nhập vào một số
Bước 2: Kiểm tra có phải s ố ch ẵn hay không, n ếu là s ố ch ẵn thì qua b ước 3
Bước 3: Kiểm tra s ố đó l ớn h ơn 100 hay không, n ếu l ớn h ơn thì xu ất ra màn hình “S ố ch ẵn và l ớn
h ơn 100″, ng ược l ại xu ất ra màn hình “S ố ch ẵn và nh ỏ h ơn 100 ″.
Bài giải:

1
2

3

$so = 80; // Nhập vào số 80

if ($so % 2 == 0) // Nếu số dư khi chia cho 2 = o, tức là số chẵn ta sẽ chạy tiếp câu l
{

4

if ($so > 100){ // Nếu số lớn hơn 100 thì chạy lệnh bên trong

5

echo 'Số chẵn và lớn hơn 100';

6

}

7

else if ($so < 100){ // Ngược lại nếu số nhỏ hơn 100 thì chạy lệnh bên trong
echo 'Số chẵn và nhỏ hơn 100';

8
}

9
10


}

Qua phần ghi chú tôi đã giải thích cho các bạn nó xử lý như thế nào rồi nên có l ẽ tôi không gi ải thích
gì thêm cho phần này vì nó cũng tương tự như những phần trên, chỉ khác nhiều câu l ệnh if lồng
nhau. N ếu các b ạn v ẫn ch ưa hi ểu thì qua ph ần bài t ập có l ời gi ải ở cu ối bài các b ạn đọc k ỹ và gõ
theo rồi xem kết quả là sẽ hình dung được.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×