Bạn có thể triển khai bất kỳ thuật toán nào bằng cách sử dụng vòng lặp <?php for (initialize; condition; increment){ //code to be executed } ?>5, <?php for (initialize; condition; increment){ //code to be executed } ?>6 và <?php for (initialize; condition; increment){ //code to be executed } ?>7 thay thế cho nhau. Tuy nhiên, việc tuân theo luồng logic có thể thúc đẩy bạn sử dụng vòng lặp này qua vòng lặp khác
Một ví dụ điển hình về thời điểm sử dụng vòng lặp do-while phù hợp hơn (dựa trên luồng logic) là khi thực hiện sắp xếp bong bóng. Mô tả của thuật toán có thể được tìm thấy ở đây, tóm lại bạn biết rằng ít nhất bạn sẽ cần lặp qua mảng một lần (được coi là trường hợp tốt nhất để sắp xếp bong bóng là <?php for (initialize; condition; increment){ //code to be executed } ?>8, trong đó <?php for (initialize; condition; increment){ //code to be executed } ?>9 là độ dài của mảng). Việc thực hiện như sau
$arr = array( 10, 5, 6, 1, 3, 2, 7, 8, 9, 4 ); $arr_len = 10; $swapped; do { $swapped = false; for ( $i = 0; i < ( $arr_len - 1 ); $i++ ) { if ( $arr[ i ] > $arr[ i + 1 ] ) { $temp = $arr[ i ]; $arr[ i ] = $arr[ i + 1]; $arr[ i + 1 ] = $temp; $swapped = true; } } } while ( $swapped == true );PHP của tôi rất thô, nếu có lỗi cú pháp, hãy cho tôi biết
Vòng lặp là một Cấu trúc Điều khiển Lặp đi lặp lại liên quan đến việc thực thi cùng một số mã nhiều lần cho đến khi một điều kiện nhất định được đáp ứng
PHP cho vòng lặp
Đoạn mã trên xuất ra “21 lớn hơn 7” Vòng lặp For… Vòng lặp thực thi khối mã một số lần xác định. Về cơ bản có hai loại vòng lặp for;
- vì
- cho mỗi
Bây giờ chúng ta hãy xem xét chúng một cách riêng biệt. Vòng lặp for Nó có cú pháp cơ bản như sau
<?php for (initialize; condition; increment){ //code to be executed } ?>NƠI ĐÂY,
- “for…{…}” là khối vòng lặp
- “khởi tạo” thường là một số nguyên;
- “điều kiện” điều kiện được đánh giá cho mỗi lần thực thi php. Nếu nó đánh giá là đúng, thì việc thực hiện vòng lặp for… sẽ tiếp tục. Nếu nó đánh giá là sai, thì việc thực hiện vòng lặp for… bị chấm dứt
- "increment" được sử dụng để tăng giá trị ban đầu của số nguyên truy cập
Làm thế nào nó hoạt động
Lưu đồ hiển thị bên dưới minh họa cách thức hoạt động của vòng lặp for trong php
Làm thế nào để mã
Đoạn mã dưới đây sử dụng vòng lặp “for…” để in các giá trị nhân 10 với 0 đến 10
<?php for ($i = 0; $i < 10; $i++){ $product = 10 * $i; echo "The product of 10 * $i is $product <br/>"; } ?>đầu ra
The product of 10 x 0 is 0 The product of 10 x 1 is 10 The product of 10 x 2 is 20 The product of 10 x 3 is 30 The product of 10 x 4 is 40 The product of 10 x 5 is 50 The product of 10 x 6 is 60 The product of 10 x 7 is 70 The product of 10 x 8 is 80 The product of 10 x 9 is 90PHP cho mỗi vòng lặp
Vòng lặp php foreach được sử dụng để lặp qua các giá trị mảng. Nó có cú pháp cơ bản sau
<?php foreach($array_variable as $array_values){ block of code to be executed } ?>NƠI ĐÂY,
- “foreach(…){…}” là mã khối vòng lặp foreach php
- “$array_data” là biến mảng được lặp qua
- “$array_value” là biến tạm thời chứa các giá trị mục mảng hiện tại
- “khối mã…” là đoạn mã hoạt động trên các giá trị mảng
Cách thức hoạt động Lưu đồ hiển thị bên dưới minh họa cách thức hoạt động của vòng lặp for… each…
Ví dụ thực tế
Đoạn mã dưới đây sử dụng vòng lặp for… each để đọc và in các phần tử của một mảng
<?php $animals_list = array("Lion","Wolf","Dog","Leopard","Tiger"); foreach($animals_list as $array_values){ echo $array_values . "<br>"; } ?>đầu ra
Lion Wolf Dog Leopard TigerHãy xem một ví dụ khác lặp qua một mảng kết hợp
Một mảng kết hợp sử dụng các từ chữ và số cho các khóa truy cập
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); foreach($persons as $key => $value){ echo "$key is $value"."<br>"; } ?>Tên đã được sử dụng làm khóa mảng và giới tính làm giá trị
đầu ra
________số 8Trong khi lặp lại
Vòng lặp PHP While
Chúng được sử dụng để thực thi lặp đi lặp lại một khối mã cho đến khi thỏa mãn điều kiện đã đặt
Khi nào sử dụng vòng lặp while
- Trong khi các vòng lặp được sử dụng để thực thi một khối mã cho đến khi một điều kiện nhất định trở thành đúng
- Bạn có thể sử dụng vòng lặp while để đọc các bản ghi được trả về từ truy vấn cơ sở dữ liệu
Các loại vòng lặp while
- Do… while – thực thi khối mã ít nhất một lần trước khi đánh giá điều kiện
- While… – kiểm tra điều kiện trước. Nếu nó đánh giá là đúng, khối mã được thực thi miễn là điều kiện là đúng. Nếu nó đánh giá là sai, thì việc thực hiện vòng lặp while bị chấm dứt
Trong khi lặp lại
Nó có cú pháp sau
<?php while (condition){ block of code to be executed; } ?>NƠI ĐÂY,
- “while(…){…}” là mã khối của vòng lặp while
- “điều kiện” là điều kiện được đánh giá bởi vòng lặp while
- “khối mã…” là đoạn mã được thực thi nếu thỏa mãn điều kiện
Làm thế nào nó hoạt động
Lưu đồ dưới đây minh họa cách thức hoạt động của vòng lặp while…
Ví dụ thực tế
Đoạn mã dưới đây sử dụng vòng lặp while… để in các số từ 1 đến 5
<?php for (initialize; condition; increment){ //code to be executed } ?>0đầu ra
<?php for ($i = 0; $i < 10; $i++){ $product = 10 * $i; echo "The product of 10 * $i is $product <br/>"; } ?>0PHP làm trong khi
Sự khác biệt giữa vòng lặp While… và vòng lặp Do… while là do… while được thực thi ít nhất một lần trước khi đánh giá điều kiện
Bây giờ chúng ta hãy xem cú pháp cơ bản của vòng lặp do… while
<?php for ($i = 0; $i < 10; $i++){ $product = 10 * $i; echo "The product of 10 * $i is $product <br/>"; } ?>1trong khi (điều kiện);
NƠI ĐÂY,
- “do{…} while(…)” là mã khối của vòng lặp do…while
- “điều kiện” là điều kiện được đánh giá bởi vòng lặp while
- “khối mã…” là đoạn mã được thực thi ít nhất một lần bởi vòng lặp do…
Làm thế nào nó hoạt động
Lưu đồ dưới đây minh họa cách thức hoạt động của vòng lặp while…
Ví dụ thực tế
Bây giờ chúng ta sẽ sửa đổi ví dụ về vòng lặp while… và triển khai nó bằng cách sử dụng vòng lặp do… while và đặt giá trị ban đầu của bộ đếm thành 9
Đoạn mã dưới đây thực hiện ví dụ sửa đổi ở trên
<?php for ($i = 0; $i < 10; $i++){ $product = 10 * $i; echo "The product of 10 * $i is $product <br/>"; } ?>2Các đầu ra mã trên
<?php for ($i = 0; $i < 10; $i++){ $product = 10 * $i; echo "The product of 10 * $i is $product <br/>"; } ?>3Lưu ý ví dụ trên chỉ xuất ra 9
Điều này là do vòng lặp do… while được thực thi ít nhất một lần ngay cả khi điều kiện thiết lập là sai