Hôm nay chúng ta sẽ tiếp tục nghiên cứu về vòng lặp. Vòng lặp là một vong luẩn quẩn lặp đi lặp lại nhiều lần một đoạn code, thay vì viết lại đoạn code đó nhiều lần người ta sử dụng vòng lặp. Hay trong một số trường hợp người lập trình không thể biết rõ số lần cần phải lặp lại đoạn code này, người lặp trình đành buộc phải sử dụng vòng lặp có điều kiện để thực hiện vòng lặp cho đến khi thỏa mãn một yêu cầu của người lặp trình đã đề ra trước đó. Trong PHP có loại vòng lặp đó là vòng lặp While và vòng lặp For. Ngay dưới đây chúng ta sẽ nghia cứu về 2 loại vòng lặp này.
Vòng lặp WHILE
Vòng lặp While sẽ lặp đi lặp lại đoạn code cho đến khi nào điều kiện còn đúng. Vòng lặp này thường được sử dụng khi người lặp trình không thể biết rõ số lần cần phải lặp lại của đoạn code. Đoạn code phải thỏa mãn một điều là phải làm chođiều kiện dần dần không còn đúng, nếu không vòng lặp lúc này sẽ trở thành vòng lặp vô hạn. Làm một ví dụ đơn giản:
Cú pháp:
While ( điều kiện ) { đoạn code; }
VD:
$i = 1; While ($i <= 5) { echo "Đào tạo lập trình lần thứ $i<br/>"; $i++; }Giải thích: ban đầu biến $i = 1, xét vòng lặp while khi biến $i còn nhỏ hơn hoặc bằng 5 thì đoạn code bên trong sẽ được thực hiện. Và kết quả mà đoạn code trên xuất ra 5 dòng đào tạo lập trình:Đào tạo lập trình lần thứ 1 Đào tạo lập trình lần thứ 2 Đào tạo lập trình lần thứ 3 Đào tạo lập trình lần thứ 4 Đào tạo lập trình lần thứ 5Đây chỉ là một ví dụ nhỏ để bạn hình dung về vòng lặp. Trên thực tế ta sẽ không xác định được cụ thể số lần lặp của While như trên, trong trường hợp có thể xác định cụ thế số lần muốn lặp lại đoạn code người ta lại dùng vòng lặp FOR.
Vòng lặp FOR Nếu từng lặp trình qua với ngôn C chắc ai cũng biết vòng lặp for. Cú pháp của vòng lặp for:for (khai báo; điều kiện; thay đổi giá trị biến) { đoạn code; }Ngay khi vòng lặp được bắt đầu biến ở phần khai báo sẽ được khởi tạo, ngay sau đó sẽ được đem so với điều kiện nếu điều kiện là đúng, se thực hiện đoạn code hoạc ngược lại thì sẽ kết thúc vòng lặp ngay lập tức. Trong trường hợp điều kiệnđúng, sau khi thực hiện đoạn code phần thay đổi giá trị biến sẽ được thực hiện. Chủ yếu là tăng hoặc giảm biến được khởi tạo ở phần khai báo làm cho điều kiền không còn đúng để kết thúc vòng lặp bằng không vòng lặp sẽ trở thành vòng lặp vô hạn. Một ví dụ nhỏ sử dụng vòng lặp for:for ($i=1; $i<=5; $i++) { echo "Lặp lại lần thứ $i<br/>"; }Vòng lặp trên sẽ cho kết quả tương ứng với ví dụ ở vòng lặp While.Vòng lặp FOREACH Vòng lặp foreach được sử dụng cho mảng, số lần lặp lại của vòng lặp foreach tương ứng với số phần tử có trong mảng. Cú pháp của vòng lặp này:foreach ($mang as $bien) { đoạn code; }Thực hiện vòng lặp với mỗi phần tử của mảng $mang, và phần tử này được xem như biến $bien trong đoạn code. Vòng lặp sẽ kết thúc khi thực hiện xong đoạn code cho phần tử cuối cùng. Vòng lặp foreach không có trường hợp bị rơi vào vòng lặp vô hạn, do số lượng phần tử trong mảng luôn được xác định cụ thể. Và vòng lặp chỉ thực hiện theo con số cụ thể đó. Một ví dụ sử dụng vòng lặp foreach:<?php $a=array("PHP","CSS","JAVASCRIPT"); foreach ($a as $value) { echo $value . "<br />"; } ?>Đoạn code trên xem mỗi phần tử trong mảng $a như một biến $value. Và thực hiện đoạn code bên trong cho từng phần tử của mảng $a. Kết quả đoạn code trên sẽ xuất ra:PHP CSS JAVASCRIPTVòng lặp vố hạn (hay vô tận) Dùng để ám chỉ những vòng lặp, lặp đi lặp lại với số lần là vô hạn tức không bao giờ kết thúc, hay điều kiện của vòng lặp luôn luôn đúng nên dẫn đến tình trạng vòng lặp không thể dừng lại được. Trong lúc sử dụng sữ dụng vòng lặp ta phải chú ý, để tránh gây ra hư hỏng hoặc quá tải cho hệ thống vì vòng lặp vô hạn. Mặc định mỗi hệ thống cài PHP đều có đặt giới hạn thời gian để thực hiện một đoạn PHP, dó đó nêu lỡ tay gây ra vòng lặp vòng lặp sẽ thực cho đến khi nào đặt giới hạn về thời gian hoặc tràn stack và báo lỗi . Mức độ nguy hiểm của vòng lặp này mang lại tùy thuộc vào đoạn code được thực hiện bên trong nó. Bạn có thể tham khảo thêm những lỗi cơ bản thường gặp với php
Không có nhận xét nào:
Đăng nhận xét