Bài 7: Vòng lặp trong PHP

Đây là bài viết số 7 trong 12 bài viết của loạt series Học PHP cơ bản

Trong mội ngôn ngữ lập trình, vòng lặp luôn là một kiến thức quan trọng không thể thiếu, và PHP cũng thế. trong series PHP cơ bản mình sẽ hướng dẫn các bạn học về những vòng lặp cơ bản nhất là while, do while, for, foreach..

Vòng lặp là gì?

-Vòng lặp là việc lặp đi lặp lại một hành động nào đó có chủ đích dựa trên các điều kiện cho trước.

Vòng lặp gồm 2 phần chính:

-Điều kiện của vòng lặp

-Những gì vòng lặp sẽ thực hiện khi thỏa mãn điều kiện của nó.

Với nguyên lý gần giống với các câu lệnh if đơn, các câu lệnh trong vòng lặp sẽ lặp lại nếu điều kiện điều kiện đúng, bị bỏ qua nếu điều kiện sai.

Các vòng lặp cơ bản trong PHP

Vòng lặp while

Cấu trúc :

while(Điều kiện) {

//Các câu lệnh

}

Vòng lặp while sẽ kiểm tra điều kiện trước, nếu thỏa mãn thì sẽ bắt đầu vòng lặp

Ví dụ: In ra màn hình các số từ 1 đến 10:

 

<?php
$number =1;//khai báo biến
while($number <= 10)// thiết lập điều kiện { // những gì xảy ra trong 1 lần lặp
echo $number.'<br>'; // in ra giá trị của number
$number++; // tăng giá trị của number lên 1 đơn vị
}
?>

Giờ thì phân tích ví dụ này:

While chạy như thế nào?
1, Kiểm tra điều kiện//$number = 1 <= 10 nên thỏa mãn điều kiện lặp.
   các câu lệnh được thực hiện lần lượt: echo $number.'<br>'; // in ra giá trị chứa trong $number ra màn hình. $number++ tăng thêm 1 giá trị cho $number, lúc này number = 2;
2, Kiểm tra điều kiện//$number = 2 <= 10 nên thỏa mãn điều kiện lặp.
các câu lệnh được thực hiện lần lượt: echo $number.'<br>'; // in ra giá trị chứa trong $number ra màn hình. $number++ tăng thêm 1 giá trị cho $number, lúc này number = 3;
............
Cứ thế đến $number = 10:  Kiểm tra điều kiện//$number = 10 <= 10 nên thỏa mãn điều kiện lặp.
các câu lệnh được thực hiện lần lượt: echo $number.'<br>'; // in ra giá trị chứa trong $number ra màn hình. $number++ tăng thêm 1 giá trị cho $number, lúc này number = 11;
Sau khi $number = 11  Kiểm tra điều kiện//$number = 11 <= 10 nên không thỏa mãn điều kiện lặp, thoát ra vòng lặp.

 

Vòng lặp do while

Cấu trúc::

do {

Câu lệnh

} while(Điều kiện);

 

Cũng tương tự như vòng lặp while, chỉ có một điểm khác là các câu lệnh sẽ được thực hiện trước 1 lần, sau đó mới xét đến điều kiện của while.

Ví dụ:

<?php
$number = 11;
do {
echo $number;
$number++;
}while($number <= 10) ;
?>

 

Vòng lặp do -while này hoạt động như thế nào?

Khác với while, kiểm tra điều kiện trước sau đó quyết định có lặp hay không, vòng lặp do-while luôn thực hiện đoạn lệnh ít nhất một lần sau đó sẽ kiểm tra điều kiện.
Trong ví dụ này:
Lệnh trong do sẽ được thực hiện trước. In ra màn hình giá trị của $ number = 11.
Sau khi xong lần đầu tiên, sẽ kiểm tra điều kiện trong while, $number = 11 và <= 10, không thỏa mãn điều kiện lặp, thoát vòng lặp.

Vòng lặp for

Cũng giống như vòng lặp while, for sẽ kiểm tra điều kiện trước, nếu thỏa mãn thì sẽ bắt đầu vòng lặp nhưng vòng lặp for thường sẽ dùng cho điều kiện dạng số..

Cú pháp:

for(Biểu thức 1; Biểu thức 2; Biểu thức 3)

{ Những câu lệnh

}

trong đó:

-Biểu thức 1 thường là khởi tạo giá trị số.

-Biểu thức 2 là điều kiện

-Biểu thức 3 thường là  biểu thức để thay đổi số khởi tạo ở biểu thức 1, mục đích  để biểu thức 2  dần đi đến sai lầm để kết thúc vòng lặp.

Ví dụ 

<?php
for($i = 1; i <= 10; i++) {
echo $i.'<br>';
}
?>

 

Vòng lặp for hoạt động như thế nào?

for($i =1; i<= 10; i++) hiểu là
 //khi bắt đầu vòng lặp: biến $i có giá trị = 1, 
 //nếu thỏa mãn điều kiện $i <= 10 thì vòng lặp được lặp  nếu không thỏa mãn, thoát vòng lặp, 
 //i++ ở cuối mỗi vòng lặp, giá trị của $i tăng lên 1 đơn vị
bên trong {} là những câu lệnh được thực thi mỗi lần lặp.
.
.
.
.
Đầu tiên :truyền giá trị cho biến $i: $i=1, So sánh với điều kiện: $ i  =  1 thỏa mãn $i <= 10. Vòng lặp được thành lập. 


Lần 1: $i=1 thỏa mãn $i <= 10. thực hiện lệnh echo $i.'<br>' : in giá trị của $i ra màn hình. Tiếp theo $i được tăng lên 1 đơn vị: $i++

Lần 2: $i=2 thỏa mãn $i <= 10. thực hiện lệnh echo $i.'<br>' : in giá trị của $i ra màn hình. Tiếp theo $i được tăng lên 1 đơn vị: $i++

.........

Lần 10: $i=10 thỏa mãn $i <= 10. thực hiện lệnh echo $i.'<br>' : in giá trị của $i ra màn hình. Tiếp theo $i được tăng lên 1 đơn vị: $i++

Lần 11: $i=11  không thỏa mãn $i <= 10. thoát vòng lặp

Vòng lặp foreach

foreach khá đặc biệt, nó khác với các vòng lặp bên trên, nó chỉ sử dụng với mảng.

Cấu trúc:

foreach($array as $value){

//Các câu lệnh

};

Trong đó $array là mảng bạn muốn thực hiện lặp, $value là biến đại diện cho phần tử mảng(ngăn) trong lần lặp đó.

Như đã nối ở bài các kiểu dữ liệu trong PHP, Mảng là một biến được chia ra nhiều ngăn  và các ngăn được đánh số thứ tự bắt đầu từ 0.

foreach sẽ lặp qua lần lượt tất cả các phần tử của mảng $array. hiểu theo cách của mình thì lặp lần lượt qua tất cả các ngăn trong mảng, bắt đầu từ ngăn số 0.

ví dụ : Chúng ta có một mảng gồm 4 phần tử(4 ngăn): $lbk = [“We”, “Are”, “LBK”, “Solution”]; in ra màn hình dòng chữ ‘We Are LBK Solution’

<?php
$lbk = ["We", "Are", "LBK", "Solution"];
foreach($lbk, $item) {
echo $item.' ';
}
?>

Cùng phân tích nó :

$lbk và $item sẽ tương ứng với $array và $value trong công thức.
$lbk có 4 phần tử, được đánh số từ 0-3 lần là $lbk[0] = "We", $lbk[1] = "Are", $lbk[2] = "LBK", $lbk[3] = "Solution",
foreach lặp lần lượt qua tất cả các ngăn trong mảng, bắt đầu từ ngăn số 0.
lần lặp đầu tiên :thực hiện câu lệnh: echo $item.' ';// ở đây $item sẽ đại diện cho phần tử 0 là We.
lần lặp thứ 2 :thực hiện câu lệnh: echo $item.' ';// ở đây $item sẽ đại diện cho phần tử 1 là Are.
lần lặp thứ 3 :thực hiện câu lệnh: echo $item.' ';// ở đây $item sẽ đại diện cho phần tử 2 là LBK.
lần lặp cuối cùng :thực hiện câu lệnh: echo $item.' ';// ở đây $item sẽ đại diện cho phần tử 3 là Solution.
Sau khi lặp qua hết tất cả các phần tử của mảng $lbk, vòng lặp kết thúc

Tổng kết:

Những vòng lặp này là những vòng lặp cơ bản nhất, đủ để các bạn cùng mình kết thúc khóa học này, cơ bản, tuy nhiên nó rất quan trọng nên các bạn hãy học nghiêm túc, những thắc mắc , khó hiểu có thể cmt bên dưới để mình hỗ trợ nhé. Bài sau chúng ta sẽ học về các lệnh break, continue, goto, die, exit.

Bài viết cùng series:<< Bài 6: Câu lệnh điều kiện – rẽ nhánhBài 9: Hàm trong PHP >>

Bình luận

0 bình luận

  • Hãy là người đầu tiên để lại bình luận cho bài viết này!