Cấu trúc rẽ nhánh trong PHP
Cấu trúc rẽ nhánh là phần rất quan trọng của các ngôn ngữ lập trình, bao gồm cả PHP. Các cấu trúc trong PHP là if
, else
, elseif
, else if
, switch
.
Cấu trúc if/else
if (expr) statement_1 else statement_2
Biểu thức nằm trong if
có thể trả về giá trị TRUE
hoặc FALSE
, nếu TRUE
thì lệnh statement_1
được thực thi, còn nếu trả về FALSE
thì lệnh statement_2
được thực thi, cấu trúc else
có thể có hoặc không.
Ví dụ:
<?php if ($x == $y) echo "x is equal y "; else echo “x is not equal y”; ?>
Cấu trúc elseif/ else if
Về nguyên tắc hoạt động thì elseif
và else if
giống như nhau nhưng chúng khác nhau về cú pháp. Sau đây là ví dụ về sự khác nhau giữ elseif
và else if
.
Ví dụ 1:
<?php if ($x > $y) { echo "x is bigger than y"; } elseif ($x == $y) { echo "x is equal y"; } else { echo "x is smaller than y"; } ?>
Ví dụ 2:
<?php if($a > $b): echo "a is bigger than b"; else if($a == $b): echo "a is equal b"; else: echo "a is smaller b"; endif; ?>
Ở ví dụ 1, xét biểu thức của elseif
nếu TRUE
thì thực thi câu lệnh trong nó, nếu FALSE
thì sẽ thực thi lệnh kế tiếp. Còn ở ví dụ 2 thì lệnh else if
được sử dụng chỉ khi sử dụng dấu :
, sau các câu điều kiện và phải có endif
.
Cấu trúc switch
Nguyên tắc hoạt động của cấu trúc switch
trong PHP giống như trong C/C++. Về mặt cú pháp thì cấu trúc switch
có hai cách trình bày, có thể dùng toán tử { }
hoặc có thể dùng toán tử :
và endswitch
cho khối lệnh của switch
.
Ví dụ 1: Dùng toán tử { }
.
<?php switch ($a) { case 0: echo "a equals 0"; break; case 1: echo "a equals 1"; break; case 2: echo "a equals 2"; break; default: echo "a is not equal to 0, 1 or 2"; } ?>
Ví dụ 2: Dùng toán tử :
và endswitch
.
<?php switch ($a): case 0: echo "a equals 0"; break; case 1: echo "a equals 1"; break; case 2: echo "a equals 2"; break; default: echo "a is not equal to 0, 1 or 2"; endswitch; ?>
Tham khảo
www.php.net/manual/en/language.control-structures.php.