Rất thường xuyên khi bạn viết mã, bạn muốn thực hiện các hành động khác nhau cho các điều kiện khác nhau. Bạn có thể sử dụng các câu điều kiện trong mã của mình để làm điều này
Trong PHP chúng ta có các câu lệnh điều kiện sau
- Câu lệnh
if
- thực thi một số mã nếu một điều kiện là đúng - Câu lệnh
if...else
- thực thi một số mã nếu điều kiện là đúng và mã khác nếu điều kiện đó sai - Câu lệnh
if...elseif...else
- thực thi các mã khác nhau cho nhiều hơn hai điều kiện - Câu lệnh
switch
- chọn một trong nhiều khối mã sẽ được thực thi
PHP - Câu lệnh if
Câu lệnh if
thực thi một số mã nếu một điều kiện là đúng
cú pháp
nếu [điều kiện] {
mã sẽ được thực thi nếu điều kiện là đúng;
}
Thí dụ
Đầu ra "Chúc một ngày tốt lành. " nếu thời gian hiện tại [HOUR] nhỏ hơn 20
$t = ngày["H"];
nếu [$t < "20"] {
tiếng vang "Chúc một ngày tốt lành. “;
}
?>
PHP - Nếu. tuyên bố khác
Câu lệnh if...else
thực thi một số mã nếu một điều kiện là đúng và một mã khác nếu điều kiện đó là sai
cú pháp
nếu [điều kiện] {
mã sẽ được thực thi nếu điều kiện là đúng;
} khác {
mã được thực thi nếu điều kiện sai;
}
Thí dụ
Đầu ra "Chúc một ngày tốt lành. " nếu thời gian hiện tại nhỏ hơn 20 và "Chúc bạn ngủ ngon. " nếu không thì
$t = ngày["H"];
nếu [$t < "20"] {
tiếng vang "Chúc một ngày tốt lành. “;
} khác {
tiếng vang "Chúc ngủ ngon. “;
}
?>
PHP - Nếu. khác. tuyên bố khác
Câu lệnh if...elseif...else
thực thi các mã khác nhau cho nhiều hơn hai điều kiện
cú pháp
nếu [điều kiện] {
mã sẽ được thực thi nếu điều kiện này là đúng;
} elseif [điều kiện] {
mã được thực hiện nếu điều kiện đầu tiên là sai và điều kiện này là đúng;
} khác {
mã được thực thi nếu tất cả các điều kiện là sai;
}
Thí dụ
Đầu ra "Chúc buổi sáng tốt lành. " nếu thời gian hiện tại nhỏ hơn 10 và "Chúc một ngày tốt lành. " nếu thời gian hiện tại nhỏ hơn 20. Nếu không, nó sẽ xuất ra "Chúc ngủ ngon. "
Cấu trúc điều khiển là một phần thiết yếu của lập trình. Mỗi ngôn ngữ lập trình tạo thành một bộ quy tắc cơ bản xác định luồng điều khiển trong chương trình dựa trên các điều kiện nhất định. Chúng chỉ định trình tự và thứ tự thực hiện các hướng dẫn trong mã của bạn.
Các cấu trúc điều khiển này nằm ở cốt lõi của các mô hình lập trình và thường là những thứ đầu tiên bạn gặp phải khi học một ngôn ngữ lập trình mới. Chúng có thể được phân loại thành hai loại - Luồng lặp lại [Dựa trên vòng lặp] và Luồng có điều kiện [Dựa trên If-else]. Các vòng lặp cho phép bạn thực hiện các tác vụ lặp đi lặp lại trong mã của mình trong khi các câu lệnh có điều kiện có thể được sử dụng để chạy các phần khác nhau của mã dựa trên việc một điều kiện có được đáp ứng hay không
Trong bài đăng này, chúng ta sẽ xem xét các cách khác nhau để chúng ta có thể tận dụng các cấu trúc điều khiển khác nhau này trong PHP. Chúng ta sẽ xem xét các loại vòng lặp và câu lệnh điều kiện khác nhau, đồng thời khám phá cách chúng ta có thể sử dụng chúng để xác định logic cho mã của mình
Sử dụng các liên kết bên dưới để bỏ qua phần hướng dẫn
For-Loop
Vòng lặp for là vòng lặp phổ biến nhất trong lập trình. Đối với những người mới bắt đầu lập trình, vòng lặp For thoạt đầu có vẻ hơi khó hiểu, đặc biệt là trong các ngôn ngữ như C, C++, PHP, v.v. Nhưng một khi bạn đã hiểu rõ về chúng, chúng sẽ khá dễ thực hiện
Cách thực hiện vòng lặp For trong PHP
Đây là mẫu của vòng lặp For trong PHP trông như thế nào -
for [init; condition; update] {
#statement
}
Cách mà công việc này là -
- init đề cập đến một câu lệnh khởi tạo chỉ được thực hiện một lần, ở đầu vòng lặp. Điều này được sử dụng phổ biến nhất để khởi tạo một trình vòng lặp theo dõi các vòng lặp của bạn
- Trước mỗi lần lặp lại, điều kiện được đánh giá. Vòng lặp tiếp tục thực thi phần thân nếu điều kiện đúng và kết thúc nếu không. Điều kiện này thường liên quan đến biểu thức khởi tạo để đánh giá tiếp tục vòng lặp hay thoát khỏi vòng lặp
- bản cập nhật đề cập đến biểu thức được thực thi sau mỗi lần lặp lại vòng lặp. Nó chủ yếu được sử dụng để cập nhật iterator khởi tạo
Hãy để chúng tôi hiểu điều này bằng cách sử dụng một ví dụ
Các ví dụ về vòng lặp PHP
Hãy xem cách chúng ta có thể sử dụng vòng lặp for để in các số nguyên từ 0 đến 5 trong PHP
Trong ví dụ trên, chúng ta thấy rằng $i được sử dụng như một iterator. Chúng tôi cũng lưu ý những điều sau đây-
Điều này ngụ ý rằng khi bắt đầu thực hiện vòng lặp
1được khởi tạo thành 0. 1sẽ được sử dụng làm trình vòng lặp cho vòng lặp của chúng ta tại đây- biểu thức điều kiện. 3
Điều này ngụ ý rằng vòng lặp sẽ tiếp tục cho đến khi
3và sẽ kết thúc ngay khi điều kiện không đúngĐiều này ngụ ý rằng ở cuối mỗi lần lặp,
5 được thực thi i. e. iterator_______2_______1tăng thêm 1.ĐẦU RA
Bây giờ, hãy sử dụng vòng lặp for để duyệt và in các phần tử của mảng PHP. Để làm như vậy, chúng tôi sẽ lặp lại các chỉ số của các phần tử mảng và in các giá trị mảng tương ứng
ĐẦU RA
Ghi chú. Có thể sử dụng hàm đếm [] để lấy độ dài của một mảng
Làm tổ cho các vòng lặp
Đôi khi, bạn có thể muốn chạy một vòng lặp bên trong một vòng lặp hiện có, chẳng hạn, để in các phần tử của một mảng nhiều chiều. Điều này có thể đạt được bằng cách đặt các vòng lặp vào nhau, cho phép bạn lặp lại theo nhiều chiều. Điều này còn được gọi là lồng các vòng lặp
";
}
?>
Trong ví dụ trên, bạn có thể thấy cách các vòng lặp lồng nhau cho phép chúng ta duyệt qua hai chiều - 1] qua nhiều mảng [dùng $i] và 2] qua nhiều phần tử trong mỗi mảng [dùng $j]
ĐẦU RA
Bạn có thể lồng các vòng lặp của mình bất kỳ số lần nào theo yêu cầu của bạn
Thoát ra khỏi một vòng lặp
Đôi khi bạn có thể muốn thoát khỏi vòng lặp giữa chừng sau khi đã đạt được kết quả mong muốn. Bạn có thể chọn kết thúc vòng lặp ở giữa quá trình thực thi của nó, bất cứ khi nào bạn muốn bằng cách sử dụng câu lệnh break
Lời gọi break kết thúc quá trình thực hiện vòng lặp và cho phép điều khiển thoát ra khỏi cấu trúc bao quanh. Nó cũng có thể được sử dụng với các loại vòng lặp khác mà chúng ta sẽ thấy ở phần sau của bài viết
Hãy hiểu cách break hoạt động thông qua một ví dụ.
Chúng tôi sẽ tạo một mảng các chuỗi và tìm kiếm một phần tử trong mảng. Ngay khi chúng tôi tìm thấy phần tử cần thiết, chúng tôi không cần tiếp tục duyệt qua mảng và do đó có thể thoát ra khỏi vòng lặp. Hãy xem làm thế nào điều này có thể được thực hiện
";
}
?>
ĐẦU RA
Trong trường hợp vòng lặp lồng nhau, nếu bạn muốn thoát ra khỏi nhiều vòng lặp lồng nhau, bạn có thể sử dụng đối số số tùy chọn để chỉ định số lượng vòng lặp bạn muốn thoát ra. Ví dụ: bạn có thể sử dụng ngắt 2;
Giá trị mặc định của đối số là 1, vì vậy nếu không được chỉ định, lệnh ngắt sẽ đưa bạn ra khỏi vòng vây ngay lập tức
Tiếp tục lặp lại vòng lặp tiếp theo
Trong phần trước, chúng ta đã thấy cách sử dụng break để thoát khỏi vòng lặp ngay lập tức. Trong một số trường hợp, thay vì thoát ra khỏi toàn bộ vòng lặp, bạn có thể muốn bỏ qua phần còn lại của vòng lặp hiện tại và chuyển sang bước lặp tiếp theo [nếu còn bất kỳ bước lặp nào]
Điều này có thể đạt được bằng cách sử dụng cuộc gọi tiếp tục. Hãy để chúng tôi hiểu điều này bằng cách sử dụng một ví dụ
Chúng tôi sẽ tạo một chương trình in tất cả các ký tự của một chuỗi ngoại trừ 'l'.
Một cách chúng ta có thể làm điều này là sử dụng tiếp tục bỏ qua phần in mã nếu gặp ký tự 'l' và chuyển sang bước lặp tiếp theo
Ghi chú. Hàm strlen[] có thể được sử dụng để lấy độ dài của chuỗi
ĐẦU RA
Vòng lặp cho mỗi
Di chuyển mảng bằng vòng lặp for có vẻ hơi rườm rà
Tại sao chỉ định ba biểu thức để theo dõi trình vòng lặp khi tất cả những gì bạn muốn làm là duyệt qua các phần tử của một mảng?
Làm cách nào để thực hiện các vòng lặp For-Each?
Để dễ dàng duyệt qua các mảng, người ta có thể sử dụng vòng lặp For-each của PHP. Như chúng ta sẽ thấy, các vòng lặp For-each dễ xử lý hơn về mặt cú pháp và do đó là một lựa chọn tốt hơn để duyệt qua các mảng
Đây là mẫu của vòng lặp For-each trông như thế nào
foreach [$myarray as $element] {
# statement;
}
Trên mỗi lần lặp, giá trị của phần tử hiện tại của $myarray được gán cho $element
Ví dụ về vòng lặp For-Each trong PHP
Hãy in các phần tử của một mảng bằng vòng lặp For-each
ĐẦU RA
Trong một số trường hợp, bạn cũng có thể muốn sử dụng các chỉ số của một mảng hoặc các khóa của một mảng kết hợp. Điều này có thể đạt được bằng cách sử dụng cú pháp sau -
foreach [$myarray as $key => $value] {
# statement
}
Trên mỗi lần lặp, $key được gán chỉ mục [hoặc khóa] của phần tử hiện tại và $value được gán giá trị phần tử hiện tại của mảng
Hãy duyệt qua một mảng kết hợp bằng cách sử dụng vòng lặp For-each
1, "two"=>2, "three"=>3];
foreach [$myarray as $key=>$value] {
echo $key." : ".$value."
";
}
?>
ĐẦU RA
Vòng lặp While
Vòng lặp While là vòng lặp đơn giản nhất để xác định. Khi lập trình vòng lặp while, tất cả những gì bạn cần làm là xác định điều kiện vòng lặp. Điều kiện này được đánh giá mỗi lần trước khi chạy vòng lặp. Khi điều kiện còn đúng, vòng lặp tiếp tục chạy.
Cách thực hiện vòng lặp While
Đây là mẫu của vòng lặp While trông như thế nào -
0Không giống như vòng lặp For, bạn không cần chỉ định bất kỳ khởi tạo nào trong biểu thức vòng lặp While của mình. Tất cả những gì bạn cần chỉ định là một điều kiện vòng lặp. Điều kiện vòng lặp này thường sử dụng một biến iterator đã được khởi tạo trước đó trong mã. Việc cập nhật biến lặp này thường diễn ra ở gần cuối thân vòng lặp
Ví dụ về vòng lặp While trong PHP
Hãy để chúng tôi hiểu điều này thông qua cùng một ví dụ về việc in các số nguyên từ 0 đến 5
ĐẦU RA
vòng lặp Do-While
Một loại vòng lặp khác là vòng lặp Do-While. Trong các vòng lặp này, thân vòng lặp được xác định trong một khối do trước khi xác định điều kiện trong khi.
Giới thiệu về vòng lặp Do-While
Đây là mẫu của vòng lặp Do-While trông như thế nào -
2Sự khác biệt quan trọng nhất giữa vòng lặp While và vòng lặp Do-While là trong vòng lặp Do-While, điều kiện luôn được đánh giá ở cuối mỗi vòng lặp. Điều này không giống với những gì được thực hiện trong vòng lặp While khi điều kiện luôn được đánh giá trước khi chạy thân vòng lặp.
Điều này có nghĩa là trong vòng lặp Do-While, phần thân sẽ luôn được thực thi ít nhất một lần ngay cả khi điều kiện sai. Điều này không đúng với tất cả các loại vòng lặp khác
Ví dụ về vòng lặp Do-While trong PHP
Hãy để chúng tôi thử ví dụ về các số nguyên tương tự bằng cách sử dụng vòng lặp Do-While
ĐẦU RA.
Câu lệnh điều kiện trong PHP
Cho đến bây giờ, chúng ta đã xem xét các loại vòng lặp khác nhau trong PHP và tìm hiểu cách chúng ta có thể sử dụng chúng để lập trình các luồng lặp khác nhau.
Trong phần này, chúng ta sẽ xem xét cách chúng ta có thể sử dụng các cấu trúc điều kiện trong PHP
Câu lệnh điều kiện là gì?
Câu lệnh điều kiện trong các ngôn ngữ lập trình cho phép bạn thực thi các đoạn mã khác nhau tùy thuộc vào sự thỏa mãn của các điều kiện khác nhau. Nó cho phép bạn tính đến bất kỳ sự không chắc chắn nào trong đầu vào của bạn hoặc bất kỳ kết quả trung gian nào và xử lý sự xuất hiện của nhiều khả năng
Ví dụ PHP If-else
Cách tiếp cận phổ biến nhất để triển khai các nhánh có điều kiện là sử dụng câu lệnh If-Else. Hãy hiểu bằng cách sử dụng một ví dụ
ĐẦU RA
Bạn cũng có thể sử dụng elseif để xác định nhiều nhánh hoặc để xử lý khả năng xảy ra nhiều điều kiện. Hãy xử lý điều kiện của số bằng 0 trong ví dụ của chúng tôi ở trên
Trong trường hợp này, chúng tôi chỉ có ba khả năng để kiểm tra. Khi số lượng điều kiện để theo dõi tăng lên, bạn có thể muốn xem xét một cách khác để triển khai logic điều kiện.
Báo cáo trường hợp chuyển đổi
Rất thường xuyên, khi tất cả các điều kiện if của bạn kiểm tra các giá trị khác nhau của một biến, thì việc xác định tất cả các trường hợp if có thể rất mệt mỏi
Tôi nghĩ cách tốt nhất để hiểu các câu lệnh switch-case là đối chiếu nó với phương pháp xác định điều kiện if-else. Lấy ví dụ này về việc in các chuỗi tên của các số nguyên nhất định bằng cách sử dụng điều kiện if -
Điều này có vẻ hơi dư thừa như bạn có thể thấy. Chúng tôi phải nhập phép so sánh đẳng thức mỗi lần mặc dù đó là cùng một biến [$i] có giá trị mà chúng tôi đang kiểm tra
Hãy thực hiện ví dụ tương tự bằng cách sử dụng câu lệnh trường hợp chuyển đổi và xem nó có thể dễ dàng như thế nào
Như được hiển thị trong ví dụ, bạn có thể chỉ định biến trong biểu thức chuyển đổi của mình và các giá trị mà bạn đang so sánh làm đối số cho các lệnh gọi trường hợp khác nhau của mình
ĐẦU RA
Trong ví dụ trên, chúng tôi so sánh biến của chúng tôi với các giá trị số nguyên. Chúng ta cũng có thể sử dụng các trường hợp chuyển đổi để so sánh với các giá trị chuỗi
ĐẦU RA
Như bạn có thể thấy, các câu lệnh trường hợp chuyển đổi về cơ bản tương tự như một loạt các câu lệnh if trên cùng một biểu thức, có thể được xác định dễ dàng hơn rất nhiều
tuyên bố trở lại
Cấu trúc điều khiển cuối cùng mà chúng ta sẽ xem xét trong bài viết này là return.
Câu lệnh return được sử dụng để chuyển điều khiển chương trình từ khối hiện tại trở lại mô-đun đang gọi. Nó được sử dụng phổ biến nhất từ bên trong một chức năng. Điều này dẫn đến việc thực thi chức năng bị chấm dứt và quyền điều khiển được chuyển đến mô-đun được gọi là chức năng
Hãy hiểu điều này thông qua một ví dụ cơ bản
Như bạn có thể thấy, khi gọi hàm printMessage[], một lệnh gọi trả về được thực hiện sau khi in chuỗi Hello. Do đó, phần thân còn lại của hàm không được thực thi và chúng tôi không thể in chuỗi khác.
ĐẦU RA
Return hơi giống với break theo nghĩa là nó đưa bạn ra khỏi vị trí, nhưng cả hai đều khá khác nhau về những gì chúng làm
Đặt nó lại với nhau
Bây giờ chúng ta đã hoàn thành tất cả các cấu trúc điều khiển, tôi thực sự khuyên bạn nên thử lập trình các luồng điều khiển khác nhau. Như tôi đã đề cập trước đây, các cấu trúc điều khiển này tạo thành các nguyên tắc cơ bản của các mô hình lập trình và một cách để bạn có thể cải thiện các cấu trúc này là thực hành.
Một ví dụ thực hành toàn diện mà tôi muốn đề xuất là viết một chương trình PHP sử dụng các câu lệnh trường hợp chuyển đổi cung cấp các ví dụ cơ bản về từng loại vòng lặp và câu lệnh điều kiện khác nhau mà chúng ta đọc trong bài đăng này. Nó có thể trông giống như thế này -
0Tóm tắt lại
Trong bài đăng này, chúng ta đã tìm hiểu về các cấu trúc điều khiển trong lập trình và hai loại của chúng - Cấu trúc lặp [Dựa trên vòng lặp] và Cấu trúc có điều kiện. Chúng ta đã xem xét tất cả các loại vòng lặp khác nhau trong PHP [vòng lặp for, vòng lặp for-each, vòng lặp while và vòng lặp do-while], cách thoát khỏi vòng lặp và cách tiếp tục đến vòng lặp tiếp theo. Chúng tôi cũng đã học cách triển khai các câu lệnh có điều kiện bằng cách sử dụng câu lệnh if-else và switch-case. Tôi hy vọng bạn đã học được điều gì đó có giá trị từ bài viết này
Đảm bảo kiểm tra công cụ APM của Scout để biết thông tin chi tiết về hiệu suất theo thời gian thực và cảnh báo về tắc nghẽn, phình bộ nhớ, rò rỉ, truy vấn cơ sở dữ liệu chậm, v.v. Bắt đầu với bản dùng thử miễn phí 14 ngày [không cần thẻ tín dụng]