Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
169,67 KB
Nội dung
Cấu trúcđiềukhiển
Bạn đã bao giờ dừng lại chỉ đường cho một lái xe lạc đường hay chưa ? Lấy
một ví dụ bạn thử đặt mình vào tình huống như thế này:
Chào ông bạn ông có thể chỉ cho tôi đương tới ngã tư Vọng được không? -
Tất nhiên rùi ông đi theo lối này ,rẽ trái ,đi tiếp,rẽ phải và ông sẽ tìm thấy lối
ra ngã tư Vọng á "
Cách chỉ đường trên thật là rắc rối như một đường kẻ chằng chịt: Đi theo
đường này,rẽ ở đây hic hic thế thì có mà ra Đại La mất .hichic đây là một
cách chỉ dẫn khá củ chuối và
Họ không chỉ cho người ấy biết là phải đi đường bao xa rồi phải đi đến đâu
để có thể nhìn thấy biển hướng dẫn chỉ là Phố Vọng ở đâu
Và nếu bạn là người tận tình thì hic hic bạn nên dẫn người ấy đi cho đến nơi
đến chốn nhất là chỉ đường cho một cô gái xinh đẹp á .
Và trong ngôn ngữ PHP cũng vậy nếu không điềukhiểncấutrúc thì nó
cũng giông như hướng dẫn chỉ đường thứ nhất á rất chi là lộn xộn.
Việc điềukhiểncấutrúc là những cốt lõi trong chương trình này.Chúng cho
phép một ngôn ngữ lập trình có thể trả lời trực tiếp phụ thuộc vào những gì
đang xảy ra, đồng thời nó cho phép thực hiên nhiệm vụ một cách hoàn hảo
Trong ngôn ngữ PHP có hai loại hình cơ bản để điềukhiểncấutrúc :
• Ngôn ngữ điều kiện
• Điềukhiển theo một vòng khép kín
Trong bài này bạn sẽ thấy một bài ví dụ về điềukhiểncấutrúc .Bây giờ
chúng ta sẽ học kĩ hơn.
+ Ngôn ngữ điều kiện:
Ngôn ngữ điều kiện có thể giúp bạn chia nhỏ các phần khác nhau trong một
ngôn ngữ ;ập trình phụ thuộc vào đó là một hay nhiểu điều kiện ,xác định
đúng hay sai .Nói một cách đơn giản nó cho phép bạn thử nghiệm và điều
hành những thao tác khác nhau dựa vào kết quả
-Câu lệnh Nếu ( If statement)
Xem ví dụ sau :
<?php
$x=1;
if ($x == 1) print '$x is equal to 1';
?>
Ví dụ này biểu thị một cách đơn giản nhất của một câu lệnh.Các câu lệnh
luôn bắt đầu bằng chữ "If" theo sau là các điều kiện được đặt trong ngoặc
đơn.Nếu câu lệnh điều kiện được công nhân là đúng thì sau đó các câu lệnh
kèm theo điều kiện sẽ được chấp nhận .Trong trường hợp này nếu điều kiện
là sai thì không thể thực hiện được gì và bạn sẽ thấy một cửa sổ Browser
trống rỗng khi chạy chương trình ngôn ngữ lập trình.
Nếu có hơn một câu lệnh được thực hiện trong cách điềukhiểncấutrúc thì
phải cho chúng vào trong ngoặc {
<?php
$x=1;
if ($x == 1) {
print '$x is equal to 1';
$x++;
print 'now $x is equal to 2';
}
?>
Nên nhớ rằng vị trí của các yếu tố không ảnh hưởng tới việc thực hiện của
ngôn ngữ lập trình. Các ví dụ được sắp xếp dưới đây rất hoàn thiện không
chỉ trong các câu lệnh mà cong ở tất cả hình thức điềukhiển theo một chu kì
kín
if ($x == 1) print '$x is equal to 1';
if ($x == 1)
print '$x is equal to 1';
if ($x == 1) { print '$x is equal to 1'; }
if ($x == 1) {
print '$x is equal to 1';
}
Với sự rõ ràng này các nhà lập trình lựa chọn việc sử dụng cách viết lùi vào
và ngoặc " { } " thậm chí cả một dòng mã .Tuy nhiên người ta vẫn thường
ưa dùng mã số riêng.
Bạn cũng có thể để tất cả điều kiện trong ngoặc đơn ,để thực hiện tất cả các
điều kiện thì đòi hỏi tất cả các điều kiện phải đúng.
<?php
$x=1;
if ($x == 1 OR $x == 2) print '$x is equal to 1 (or maybe
2)';
?>
Các câu lệnh khác ( Else Statement)
Như tên của nó bạn có thể thực hiện thêm một số chức năng khác nếu điều
kiện bên trong 1
(If Statement) được xác định là sai:
<?php
$x=1;
if ($x == 2) {
print '$x is equal to 2';
} else {
print '$x is equal to 1';
}
?>
+ Câu lệnh Else if Statement
Đến nay chúng ta vẫn có thể thực hiện một lệnh mà điều kiện không
đúng.Nhưng còn nhiều điều kiện thì sao? Bạn có thể sử dụng một loạt câu
lệnh If Statement để thử nghiệm tính khả thi của mỗi điều kiện, nhưng trong
một số trường hợp thì lựa chọn đó không thích hợp vậy bạn phải dùng tới
Else if Statement
Sự kết hợp giữa If ,Else Statement và Else if Statement được thực hiện liên
tiếp nếu điều kiện trong If Statemnet là sai .Khi điều kiện trong một Else if
Statement được xác định là đúng thì các lện sẽ được thực hiện.Ngôn ngữ lập
trình sẽ ngừng thực hiện toàn bộ If | Else if| Else Statement .Phần còn lại của
ngôn ngữ lập trình sẽ tiếp tục thực hiện .
Xem ví dụ sau :
<?php
$x=1;
if ($x == 2) {
print '$x is equal to 2';
} else if ($x == 1) {
print '$x is equal to 1';
} else {
print '$x does not equal 2 or 1';
}
?>
Phần cuối còn lại của câu lệnh sẽ bị loại bỏ nếu bạn không muốn thực hiện
vì If hoặc Else If là đúng
<?php
$x=0;
if ($x == 2) {
print '$x is equal to 2';
} else if ($x == 1) {
print '$x is equal to 1';
}
?>
Trong trường hợp này ko có điều kiện của If hoặc Else if statement là đúng
và Else statement không được cung cấp dẫn tới không có kết quả của
Browser .
+Sự thay đổi :
Trong những tình huống này sự thay đổi là lựa chọn tốt nhất đối với If | Else
if| Else Statement để kiểm tra có nhiều giá trị chống lại 1 đièu kiên thay đổi
hay không.Đây là dạng câu lệnh cơ bản
<?php
$var = "yes";
switch ($var) {
case "yes":
print '$var is equal to yes';
break;
case "no":
print '$var is equal to no';
break;
}
?>
Sau khi chạy từng phần mã hầu hết sẽ nên có nghĩa đối với bạn .Ở dòng đầu
tiên của câu lện chúng ta thấy có sự thay đổi đòng nhất hơn được thực hiện
trong ngoặc đơn. Mỗi trường hợp có thể có những giá trị thay đổi được.
Những thay đổi được thực hiện từng phần nhỏ trên If/Else if/Else
statements.Mỗi trường hợp giá trị phải khớp với giá trị thay đổi,mỗi câu lệnh
được thực hiện gồm các trường hợp khác
Để tránh trường hợp này xảy ra người ta sử dụng 1 câu lệnh khác " Break;"
.Kết thúc việc thực hiện thay đổi câu lệnh và để cho ngôn ngữ lập trình tiwps
tục thực hiện, nó cũng thực hiện một vòng khép kín .
Bạn cũng có thể tùy ý sử dụng trường hợp đặc biệt gọi là " default" ( thao tác
cài đặt trước) .Trường hợp này thao tác giống như Else Statement ,và thực
hiện nếu các trường hợp khách là sai . TRường hợp này có thể là trường hợp
cuối cùng bạn biết:
<?php
$var = "yes";
switch ($var) {
case "maybe":
print '$var is equal to yes';
break;
case "no":
print '$var is equal to no';
break;
default:
print 'none of the other two cases were true, so this
sentance will be printed out instead.';
}
?>
Giông như Break Statement là Exit Statement. Lối ra thường được sử dụng
trong các tình huống mà bạn chạy chương trình gặp lỗi nặng( fatal error) (Ví
dụ như user đăng nhập sai pass) hoặc bất kì lúc nào bạn cần kết thúc thực
hiện ngôn ngữ lập trình trược khi nó tự động chấm dứt :
<?php
$var = "yes";
switch ($var) {
case "yes":
print '$var is equal to yes';
exit;
case "no":
print '$var is equal to no';
break;
}
print "this will not be printed, because the script will have
terminate before this line is reached";
?>
Không giống như break, exit có thể được sử dụng ở bất cứ đâu trong ngôn
ngữ lập trình của bạn,trong và ngoài điềukhiểncấu trúc.
+ Ba bước của một cơ chế vận hành
Mặc dù theo thuật ngữ kĩ thuật một cơ chế vận hành không phải là một cấu
trúc điềukhiển gồm ba phần ,biểu hiện bằng dấu " ? " có thể sử dụng với
If/Else Statements .Nó cũng có thể được sử dụng trong những trường hợp
mà bạn muốn thực hiện đọc lậpphụ thuộc vào điều kiện nào đúng hay sai
<?php
$x = 1;
($x==1) ? (print '$x is equal to 1') : (print '$x is not equal
to 1');
?>
Điều kiện phải được đăt trong ngoặc đơn đầu tiên .Nếu thực hiện được thì
phần lệnh trong ngoặc đơn thứ hai cũng sẽ thự hiện.Nếu không phàn lệnh
trong ngoặc đơn thứ 3 sẽ thự hiện
(condition) ? (executes if the condition is true) : (executes
if the condition is false);
Bãn sẽ thấy sự hữu ích của nó như thế nào trong phần tiếp theo.
Control Loops ( Điềukhiển theo chu kì)
Trong PHP thường có những trường hợp cá biệt mà bạn cần thực hiện lại
nhiệm vụ ,như nhận sữ liệu từ các cơ sở dữ liệu ,gửi e-mail vào danh sách
mail hoặc xem lại nội dung của bài viết .Điều khiển theo chu kì sẽ cho phép
bạn thực hiện những nhiệm vụ này một cách hiệu quả .
While Loops (Chu kì thời gian)
Đây là những hình thức dơn giản nhất của chu kì
<?php
$x=1;
while ($x <=10) {
print "$x<br>";
$x++;
}
?>
Khi bạn chạy chương trình này bạn sẽ thấy các số từ 1 đến 10 hiện trên màn
hình của bạn.Hãy xem mã . Trong nhiều trường hợp nó rất giống với If
statement .Trước hết đó là thời gian đồng nhất kèm theo điều kiện trong
ngoặ đơn.
Các lệnh trong một chu kì sẽ được thực hiện miễn là điều kiện trong ngoặc
đơn được xác định là đúng .Khi điều kiện có giá trị được kiểm tra trước khi
chu kì đó được thực hiện ,nếu điều kiện sai thì các lệnh trong chu kì đó
không thể thực hiện được.
Do While Loops ( Thực hiện chu kì thời gian)
Do While Loops có quan hệ với While Loops:
<?php
$x=11;
do {
print "$x<br>";
$x++;
} while ($x <=10);?>
Điểm khác nhau cơ bản là cách thực hiện ,giá tẹi của điều kiện trong
Do While Loop được thử nghiệm sau khi lịch trình hoạt động.Điều này có
nghĩa trong các ví dụ trên $x đã cho ra kết quả một lần ,sau đó khi việc thực
hiện chu kì kết thúc thì $x lớn hơn 10
For Loops ( Đối với cho kì )
<?php
for($x=1; $x<=10; $x++) {
print "$x<br>";
}
?>
Trên đây là một ví dụ của một chu kì .For Loops rất giống với While Loops
nhưng sử dụng thuận tiện hơn trong nhiều trường hợp .Chúng cũng là những
chu kì phức tạp nhất trong PHP .,vay mựơn phần cú pháp và chức năng từ
chương trình C . Đây là cấu chúc điềukhiển cuối cùng mà bài này giới thiệu
tới các bạn
Nếu như bạn đoán được đoạn trích ở trên cho ra một một kết quả như ví dụ 1
của while loop ,có thể bạn đã đúng .Hãy xem xét tại sao nó lai vận hành như
thế .Trong dấu ngoặc đơn For Loops thực hiện 3 điều kiện ngăn cách bởi
dấu " ; " .Điều kiện thứ nhất chỉ được thực hiện 1 lần khi chu kì bắt đầu
.Trong trường hợp này $x có giá trị bằng 0
Điều kiện tiếp theo là điều kiện được kiểm tra mỗi lần khi chu kì hoạt động
.Mỗi lần điêềukiện sai chu kì sẽ ngừng thực hiện.
Cũng giống như While Loops ,nếu trong lần vận hành đầu tiên mà điều kiện
sai thì không có lệnh nào trong chu kì được thực hiện.
Điều kiện cuối cùng sẽ được thực hiện khi chu kì hoạt động sau khicác lệnh
được thực hiện .Nên nhớ là không có dấu " ; " sau điều kiẹn cuối cùng ( Bạn
thấy nó có giống Pascal không nào )
Như bạn đã biết ,For Loops thực hiện nhưng chức năng tương tự như While
Loops nhưng hiệu quả hơn .Nói cách khác đó là cách tốt nhất để sử dụng For
Loops ,những trương hợp mà bạn biết yếu tố nào là quan trọng để ban thực
hiện.
The Foreach Loop
Chu kì mới này được giới thiệu trong phiên bản 4 của PHP .Nó được sử
dụng nội bộ thông qua các yếu tố ngôn ngữmcho phép ban có thể dễ dàng
thực hiện việc chia ra kết quả dựa vào các yếu tố đó. Để tránh sự phức tạp
chúng tôi sẽ khái quát riêng chu kì này khi ngôn ngữ này được giới thiệu và
phổ biến.
Cuối cùng :
Trong bài viết này chúng tôi đã giới thiệu đến 2 cấutrúcđiềukhiên mà ngôn
ngữ PHP hỗ trợ.Những cấutrúc này là nhân tố quan trọng trong điềukhiển
tốc độ chương trình,các định nghĩa được giới thiệu sẽ được sử dụng rộng rãi
từ bây giờ
Trong bài tiếp theo chúgn tôi sẽ đề cập đến các chức năng đã được định
nghĩa trước, các chức năng này đóng một vai trò vô cùng quan trọng trong
việc phát triển của ngôn ngữ lập trình.
[...]...Những điều cần nhớ : • • • • Các cấutrúcđiềukhiển chi phối tốc dọ của chương trình,cho phép bạn có thể chia nhỏ các phần khác nhau của một ngôn ngữ lập trình ,phụ thuộc vào đầu vào và có thể dễ dàng thực hiện các thao tác Có hai loại cấu trúcđiềukhiển trong PHP : Ngôn ngữ điều kiện và Điềukhiển theo một vòng khép kín Hai loại cấu trúc trên chỉ có các lệnh không dùng . bản để điều khiển cấu trúc :
• Ngôn ngữ điều kiện
• Điều khiển theo một vòng khép kín
Trong bài này bạn sẽ thấy một bài ví dụ về điều khiển cấu trúc .Bây. thao tác.
• Có hai loại cấu trúc điều khiển trong PHP : Ngôn
ngữ điều kiện và Điều khiển theo một vòng khép kín
• Hai loại cấu trúc trên chỉ có các lệnh