Thứ Sáu, 12 tháng 8, 2011

Gioi thieu - So luoc ve ngon ngu PHP (p6)

Số lượt xem: 721
Gửi lúc 11:44' 31/07/2009

Giới thiệu - Sơ lược về ngôn ngữ PHP (p6)

Bài 6 - CÁC CÂU LỆNH ĐIỂU KHIỂN

Câu lệnh if
Cú pháp đơn giản nhất của câu lệnh if có dạng như sau:


if ( biểu thức )
câu lệnh;


Câu lệnh if trên được diễn giải như sau: nếu biểu thức trả về giá trị TRUE (hoặc tương đương với TRUE sau khi chuyển đổi) thì câu lệnh sẽ được thực thi; ngược lại (khi biểu thức trả về giá trị FALSE) thì bỏ qua không thực thi câu lệnh nữa.

Cú pháp nâng cao của câu lệnh if có dạng như sau:


if ( biểu thức )
câu lệnh 1;
else
câu lệnh 2;


Câu lệnh if trên được diễn giải như sau: nếu biểu thức trả về giá trị TRUE thì câu lệnh 1 sẽ được thi hành, ngược lại thì câu lệnh 2 sẽ được thi hành.

Các lệnh if có thể được lồng vào nhau để tạo ra câu lệnh if phức tạp hơn:


if ( biểu thức 1 )
if ( biểu thức 2 )
câu lệnh 1;
else
câu lệnh 2;
else
câu lệnh 3;


Nếu biểu thức 1 trả về giá trị FALSE thì câu lệnh 3 sẽ được thực hiện, ngược lại xét tiếp biểu thức 2: nếu biểu thức 2 trả về giá trị TRUE thì thực hiện câu lệnh 1, ngược lại nếu biểu thức 2 trả về giá trị FALSE thì thực hiện câu lệnh 2.

if ( biểu thức 1 )
câu lệnh 1;
else if ( biểu thức 2 )
câu lệnh 2;
else if ( biểu thức 3 )
câu lệnh 3;
else
câu lệnh 4;


Nếu biểu thức 1 trả về TRUE thì thực hiện câu lệnh 1 (các câu lệnh 2,3,4 không thực hiện), nếu biểu thức 1 trả về FALSE và biểu thức 2 trả về TRUE thì câu lệnh 2 được thực hiện, nếu biểu thức 1 trả về FALSE và biểu thức 2 trả về FALSE và biểu thức 3 trả về TRUE thì câu lệnh 3 được thực hiện. Nếu cả 3 biểu thức 1,2,3 đều trả về FALSE thì thực hiện câu lệnh 4.

Ngoài ra PHP còn cung cấp từ khoá elseif, chính là ghép giữa từ khoá else và if.

Câu lệnh while

Câu lệnh while dùng để tạo 1 vòng lặp, cú pháp của câu lệnh này như sau:

while ( biểu thức )
câu lệnh;


Được diễn giải như sau: trong khi biểu thức còn trả về giá trị TRUE thì tiếp tục thực hiện câu lệnh, sau khi thực hiện câu lệnh thì kiểm tra lại biểu thức, nếu vẫn còn trả về giá trị TRUE thì lại tiếp tục thực hiện câu lệnh...cứ tiếp tục như vậy cho tới khi nào biểu thức trả về giá trị FALSE thì ngưng.

Một ví dụ in ra các số từ 1 tới 10 với câu lệnh while:

Trích:
<?php
$i = 1;
while ( $i <= 10 ) {
echo $i, "\n";
$i++;
} //end while
?>
Ghi chú: Câu lệnh $i++; tương đương với $i = $i+1;, câu lệnh này sẽ tăng giá trị của $i lên 1 qua mỗi lần lặp.

Câu lệnh do-while

Câu lệnh do-while cũng tương tự như câu lệnh white, chỉ khác một điểm là câu lệnh được thực hiện trước rồi biểu thức mới được kiểm tra sau, nếu biểu thức còn trả về giá trị TRUE thì tiếu tục thực hiện câu lệnh. Cú pháp của câu lệnh do-while như sau:

do {
câu lệnh;
} while ( biểu thức );


Một ví dụ in ra các số từ 1 tới 10 với câu lệnh do-while:

Trích:
<?php
$i = 1;
do {
echo $i, "\n";
$i++;
} while ( $i < 10 );
?>
Câu lệnh for

Câu lệnh for cũng dùng để tạo vòng lặp. Đây là một trong những câu lệnh phức tạp nhất của PHP, cú pháp của nó như sau:

for ( biểu thức 1; biểu thức 2; biểu thức 3 )
câu lệnh;


Được diễn giải như sau:
Đầu tiên biểu thức 1 được thực hiện,
Tiếp theo biểu thức 2 được kiểm tra
Nếu trả về TRUE thì câu lệnh được thực hiện và sau đó thực hiện biểu thức 3.
Nếu trả về FALSE thì kết thúc câu lệnh for.
Kiểm tra lại biểu thức 2 và lặp lại quá trình như trên.

Một ví dụ in ra các số từ 1 tới 10 với câu lệnh for:

Trích:
<?php
for ( $i = 0; $i < 10; $i++ ) {
echo $i, "\n";
} //end for
?>
Câu lệnh foreach

Câu lệnh foreach chỉ làm việc với array. Câu lệnh foreach có 2 dạng cú pháp như sau:

foreach ( $array as $value )
câu lệnh;

foreach ( $array as $key => $value )
câu lệnh;


Ta sẽ hiểu rõ hơn 2 dạng cú pháp này qua 2 ví dụ sau:

Ví dụ 1:

Trích:
<?php
$a = array('a' => 1, 'b' => '2', 'c' => '3');

foreach ( $a as $value ) {
echo $value, "\n";
} //end foreach
?>
Chương trình trên sẽ in ra 3 số 1, 2 và 3.

Ví dụ 2:

Trích:
<?php
$a = array('a' => 1, 'b' => '2', 'c' => '3');

foreach ( $a as $key => $value ) {
echo $key, "=", $value, "\n";
} //end foreach
?>
Chương trình trên sẽ in ra 3 chuỗi a=1, b=2 và c=3.

Câu lệnh switch

Câu lệnh switch hoạt động như là 1 loạt câu lệnh if ghép lại với nhau. Ta hãy xem câu lệnh if sau:

if ( $a == "abc" )
echo "Giá trị của a là abc";
} elseif ( $a == "def" )
echo "Giá trị của a là def";
} elseif ( $a == "123" ) {
echo "Giá trị của a là 123";
} else {
echo "Giá trị khác";
} //end if


3 câu lệnh if ở trên có thể được viết lại bằng câu lệnh switch như sau:

switch ( $a ) {
case "abc";
echo "Giá trị của a là abc";
break;
case "def";
echo "Giá trị của a là def";
break;
case "123";
echo "Giá trị của a là 123";
break;
default:
echo "Giá trị khác";
} //end switch


Câu lệnh break

Câu lệnh break sẽ dừng việc thực thi của các vòng lặp for, foreach, while, do-while và switch. Ở phần trước ta đã thấy câu lệnh break được sử dụng trong câu lệnh switch. Nếu không có break, câu lệnh switch ở phần trước sẽ thành:

switch ( $a ) {
case "abc";
echo "Giá trị của a là abc";
case "def";
echo "Giá trị của a là def";
case "123";
echo "Giá trị của a là 123";
default:
echo "Giá trị khác";
} //end switch


Nếu giá trị của $a là "abc" thì cả 4 chuỗi "Giá trị của a là abc", "Giá trị của a là def", "Giá trị của a là 123" và "Giá trị khác" sẽ được in ra.; nếu $a mang giá trị "def" thì 3 chuỗi "Giá trị của a là def", "Giá trị của a là 123" và "Giá trị khác" sẽ được in ra.
Ở đây ta muốn chỉ có 1 dòng duy nhất in ra tương ứng với giá trị của biến $a, nên ta thêm các câu lệnh break vào các phần case, để khi in ra chuỗi tương ứng với giá trị $a thì ta thoát ra khỏi câu lệnh switch.

Một ví dụ sử dụng câu lệnh break trong vòng lặp for:

for ( $i=1; $i<=10; $i++ ) {
echo $i;
if ( $i == 5 ) break;
}


Vòng lặp for ở trên thay vì in ra 10 số từ 1 đến 10, vòng lặp chỉ in ra 5 số từ 1 đến 5 mà thôi vì khi $i đạt giá trị 5, vòng lặp sẽ kết thúc do câu lệnh break.

Cách dùng câu lệnh break trong các vòng lặp foreach, while và do-while cũng tương tự.

Câu lệnh continue

Câu lệnh continue áp dụng lên các vòng lặp, lệnh continue sẽ bỏ qua lần lặp hiện thời và tiếp tục thực hiện các lần lặp tiếp theo. Để hiểu rõ hơn ta hãy xem ví dụ sau:

for ( $i=1; $i<=5; $i++ ) {
if ( $i == 2 ) continue;
echo $i;
}


Khi $i đạt giá trị 2, câu lệnh echo $i; sẽ được bỏ qua không thì hành nữa do câu lệnh continue. Và như vậy, đoạn lệnh trên khi chạy sẽ in ra các giá trị 1,3,4,5 (không có giá trị 2).

Cách dùng của câu lệnh continue trong các vòng lặp foreach, while, do-while cũng tương tự.
Xem tiếp

Bản gốc: Thiết kế website - Giới thiệu - Sơ lược về ngôn ngữ PHP (p6)

Không có nhận xét nào:

Đăng nhận xét