For lồng (for trong for) trong PHP | Laptrinhcanban.com

HOME › >>

For lồng (for trong for) trong PHP

Hướng dẫn cách sử dụng for lồng trong PHP. For lồng là vòng lặp for được chứa trong một vòng lặp for khác trong PHP, và bạn sẽ học được nó hoàn hảo trong bài học này.

For lồng (for trong for) trong PHP là gì

for lồng trong PHP là vòng lặp mà một vòng lặp for lại được chứa bên trong một vòng lặp for khác. For lồng thường được sử dụng để vừa thay đổi theo thứ tự nhiều biến đếm vừa tiến hành vòng lặp trong PHP.

Do chúng ta có thể tự do viết các câu lệnh bên trong khối của vòng lặp for, do đó chúng ta có thể ghi một vòng lặp for trong một vòng for khác. Ví dụ, chúng ta có vòng lặp for trong for với 2 biến đếm là i và j như sau :

for ($i = 0; $i < 3; $i++){
for ($j = 0; $j < 3; $j++){
echo 'i = '.$i.', j = '.$j."\n";
}
}

Trong ví dụ trên, mỗi khi vòng lặp for bên ngoài được thực thì thì vòng lặp for bên trong nó sẽ được chạy từ đầu đến cuối, và lặp lại quá trình cho tới khi các lượt lặp của vòng lặp for bên ngoài đã được chạy hết.

Và do vòng lặp for bên ngoài sử dụng biến $i còn vòng lặp for bên trong nó sử dụng biến $j, nên 2 biến này sẽ lần lượt thay đổi giá trị, tiến hành các vòng lặp và cho ra kết quả như sau:

i = 0, j = 0
i = 0, j = 1
i = 0, j = 2
i = 1, j = 0
i = 1, j = 1
i = 1, j = 2
i = 2, j = 0
i = 2, j = 1
i = 2, j = 2

Ngoài ra, chúng ta cũng có thể ghi thêm các vòng lặp thứ 3 bên trong vòng lặp thứ 2, vòng lặp thứ 4 bên trong vòng lặp thứ 3 v.v.. và tạo ra các vòng lặp lồng đa chiều như sau:

for ($i = 0; $i < 3; $i++){
for ($j = 0; $j < 3; $j++){
for ($k = 0; $k < 3; $k++){
echo 'i = '.$i.', j = '.$j.', k = '.$k."\n";
}
}
}

Sử dụng for lồng trong PHP để lấy phần tử trong mảng đa chiều

Giống như Kiyoshi đã phân tích ở trên thì vòng lặp for lồng trong PHP sẽ giúp chúng ta vừa thay đổi các biến vừa tiến hành các vòng lặp, do đó nó phù hợp với các xử lý cần phải lấy các phần tử trong các mảng đa chiều trong PHP.

Ví dụ, chúng ta sẽ lấy lần lượt các giá trị theo thứ tự trong mảng đa chiều bằng for lồng như sau:

$users = [
['Kiyoshi', 30, 'man'],
['Ajinomoto', 70, 'woman']
];

for ($i = 0; $i < 2; $i++){
for ($j = 0; $j < 3; $j++){
echo $users[$i][$j]."\n";
}
}

Kết quả chương trình:

Kiyoshi
30
man
Ajinomoto
70
woman

Sự khác biệt giữa for lồng và vòng lặp for nhiều biến đếm trong PHP

Khi cần thay đổi giá trị nhiều biến đếm trong vòng lặp PHP, ngoài for lồng mà Kiyoshi đã hướng dẫn ở trên thì chúng ta cũng có thể sử dụng vòng lặp for với các biến đếm được đặt giữa dấu phẩy.

Tuy nhiên thì hai vòng lặp này thực tế là rất khác nhau.

  • Vòng lặp for nhiều biến đếm sẽ thay đổi cùng lúc các biến sử dụng trong vòng lặp, trong khi for lồng sẽ thay đổi lần lượt các biến sử dụng trong nó.

  • Vòng lặp for nhiều biến đếm sẽ chỉ thực hiện 1 vòng lặp duy nhất trong mỗi lượt lặp của nó, trong khi for lồng sẽ thực hiện từ đầu tới cuối các vòng lặp con chứa trong vòng lặp mẹ, sau mỗi lần vòng lặp mẹ được lặp.

  • Và, do số lượt lặp cũng như độ phức tạp của vòng lặp for lồng là lớn hơn vòng lặp for bình thường, nên tốc độ xử lý của for lồng là thấp hơn. Nó cũng khó hiểu nữa, do đó ngoài các trường hợp cần thiết thì chúng ta cũng nên hạn chế sử dụng chúng trong chương trình PHP.

  • Xem thêm: Vòng lặp for nhiều biến đếm trong PHP

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về for lồng trong PHP rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về PHP trong các bài học tiếp theo.

URL Link

https://laptrinhcanban.com/php/nhap-mon-lap-trinh-php/vong-lap-trong-php/for-long-trong-php/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.