Bài tập vòng lặp for kẹp vói for năm 2024

Ngôn ngữ lập trình C/C++, C#, Java, ... hay bất kì ngôn ngữ lập trình nào đều sử dụng vòng lặp. Vậy PHP thì sao? PHP có 4 Loops quan trọng, trong bài hôm nay tôi muốn nói về vòng lặp For.

1. Vòng lặp là gì?

Vòng lặp là một mã lệnh trong đó chương trình được thực hiện lặp đi lặp lại nhiều lần cho đến khi thỏa một điều kiện nào đó.

2. Vòng lặp for là gì?

- Cú pháp:

for [$bien_dieu_khien; $bieu_thuc_dieu_kien; $bieu_thuc_thay_doi_bien_dieu_khien] {
    // Lệnh
}

Trong đó:

  • $bien_dieu_khien : Chứa giá trị khởi tạo trước hoặc truyền giá trị trực tiếp trong vòng lặp đều được chấp nhận. Lệnh này chỉ thực hiện một lần duy nhất.
  • $bieu_thuc_dieu_kien : Đây là một biểu thức quan hệ xác định thời điểm nào thì thoát vòng lặp
  • $bieu_thuc_thay_doi_bien_dieu_khien : Biểu thức này xác định rằng $bien_dieu_khien sẽ thay đổi như thế nào sau mỗi lần lặp.

Ví dụ: Xét một vòng lặp đơn giản sau

for [$i = 0; $i < 10; $i++]{
    echo $i . ' - ';
}

Ta thấy:

  • Giải thích về vòng lặp trên: Biến điều khiển $i khởi tạo bằng 0, với điều kiện là $i sẽ lặp đi lặp lại số lần bé hơn 10 tức là đến lần thứ 9 thì stop. Và sau mỗi lần lặp thì tăng $i lên 1.
  • Lệnh echo cho phép in ra kí tự chứa trong dấu nháy kép " " hoặc dấu nháy đơn ' '.
  • Kết quả của ví dụ trên in ra một chuỗi như sau: “0 – 1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9 – ”. Tức là: Lần lặp đầu tiên $i = 0 , kiểm tra 0 đúng là bé hơn 10 thì tiến hành in ra số 0 và dấu gạch ngang ' - ' đầu tiên: "0 - " Tăng $i lên 1 ở lần lặp thứ 2, lúc này $i = 1 và 1 bé hơn 10. Vậy là ở lần lặp này ta có được chuỗi: "0 – 1 –" Tương tự với các bước 2-3-4-5-6-7-8-9.

3. Vòng lặp for lồng nhau:

Vòng lặp for trong php có thể lồng nhau để xử lý bài toán. Ở mỗi vòng lặp cha thì vòng lặp con sẽ được thực hiện, thực hiện hết nội dung bên trong vòng lặp mới thực hiện vòng tiếp theo.

Ở vòng lặp for lồng nhau bạn cần tham chiếu với mô hình ma trận để dễ hiểu hơn,

Trên đây là ma trận A, có m hàng và n cột, trong vòng lặp for tương ứng với hàng m là $i, cột n là $j. Hãy nắm chắc điều này để khi nhìn vào các ví dụ bên dưới bạn sẽ dễ hiểu hơn.

4. Ứng dụng vòng lặp for vẽ hình tam giác bằng kí tự *

4.1. Tam giác vuông trái:

for [$i = 1; $i  true nên in ra được dòng đầu tiên và dấu sao đầu tiên.  
Tham chiếu theo hình ảnh ma trận cho ở trên, lúc này ta đã in ra được a11 
với một sao: * .
  • Và đừng quên

    for [$i = 0; $i < 10; $i++]{

    echo $i . ' - ';  
    
    }

    0 để ngắt dòng mỗi khi xong một vòng lặp con.
  • Vòng 2: $i cộng 1, các bước kiểm tra tương tự bước 1.

    Chiếu theo bảng ma trận, lúc này $i = 2 tức là $i đã nhảy xuống hàng 2 cột 1 tức a21, chạy đến vòng lặp con $j lúc này bằng 1 thỏa mãn điều kiện và in ra một " * ", $j lúc này cộng thêm 1 vẫn thỏa mãn điều kiện bé hơn và bằng $i nên in ra được a22 :

    for [$i = 0; $i < 10; $i++]{

    echo $i . ' - ';  
    
    }

    1.
  • Vòng thứ 3, 4, 5 tương tự.

    4.2. Tam giác vuông phải

  • for [$i = 1; $i 
    
    
    

    Tự mình thử để cùng nhau thành thạo nhé!

    Như vậy bài thứ 3 trong chuỗi bài học PHP của tôi đã hoàn thành, nếu có gì cần góp ý xin hãy cmt bên dưới nhé!

    Chủ Đề