So sánh for và foreach trong php

Đây là một script đơn giản cho phép [1] nhập vào một số tự nhiên, [2] tính giai thừa của số vừa nhập, [3] in ra kết quả. Script này sẽ lặp đi lặp lại 3 công việc trên.

Để tính giá trị giai thừa, chúng ta phải sử dụng một lệnh lặp thứ hai. Ở lệnh lặp này, chúng ta nhân dồn [*=] biến factorial với biến $i, sau đó tăng biến $i lên một đơn vị. Quá trình này lặp lại chừng nào biến $i chưa vượt quá giá trị của $n. Cách viết này phản ánh ý nghĩa của phép toán giai thừa: n! = tích các số từ 1 đến n.

Kết quả chạy script trên trong PHP CLI như sau:

E:\OneDrive\TuHocICT\LearnPHP\Controls>php factorial.php N = 4 4! = 24 N = 5 5! = 120 N = 6 6! = 720 N = 7 7! = 5040

Ví dụ nhỏ trên đã vận dụng hai lệnh lặp while lồng nhau. Cú pháp chung của lệnh while như sau:

while[biểu_thức] { Lệnh 1; Lệnh 2; ... } // nếu chỉ có một lệnh thì không cần cặp {}

Hoặc sử dụng cú pháp tương đương:

while[biểu_thức]: Lệnh 1; Lệnh 2; ... endwhile;

Lệnh lặp while được biểu diễn ở dạng sơ đồ khối như sau:

  1. tính toán giá trị của biểu thức;
  2. nếu biểu thức có giá trị true:
    1. thực hiện danh sách lệnh 1, lệnh 2, …;
    2. quay lại bước [1]
  3. nếu biểu thức có giá trị false: bỏ qua

Nếu biểu thức luôn tính ra giá trị true chúng ta sẽ thu được một vòng lặp vô tận. Vòng lặp vô tận sẽ không bao giờ ngừng thực hiện.

Để không tạo ra vòng lặp vô tận, trong danh sách lệnh phải có một lệnh làm biến đổi giá trị của biểu thức, hoặc phải sử dụng lệnh kiểm soát vòng lặp

E:\OneDrive\TuHocICT\LearnPHP\Controls>php factorial.php N = 4 4! = 24 N = 5 5! = 120 N = 6 6! = 720 N = 7 7! = 5040

0.

Lệnh lặp do-while trong PHP

Lệnh lặp do-while trong PHP hoạt động tương tự như lệnh lặp while, sự khác biệt nằm ở chỗ danh sách lệnh sẽ được thực hiện trước sau đó mới kiểm gia giá trị của biểu thức. Nếu biểu thức cho giá trị true thì lặp lại thực hiện các lệnh.

Chúng ta viết lại ví dụ factorial.php sử dụng lệnh lặp do-while:

Chủ Đề