Làm cách nào để lặp các giá trị mảng trong PHP?

Mảng là một cấu trúc dữ liệu quan trọng để lưu trữ dữ liệu. Chúng có thể lặp lại và chúng tôi có thể truy xuất từng phần tử của chúng trong một vòng lặp. Trong bài viết này, chúng ta sẽ thấy nhiều cách khác nhau để lặp qua một mảng trong PHP

Hãy bắt đầu mà không cần phải quảng cáo thêm

Mục lục

cho mỗi. Lặp qua tất cả các phần tử trong Mảng PHP

Vòng lặp foreach trong PHP là một cách tuyệt vời để lặp qua một mảng trong PHP. Tôi thích nó hơn vì bạn không phải lo lắng về bộ đếm và chỉ số mảng. Ngoài ra, nó trực quan và dễ đọc hơn. Vì vậy, hãy xem cú pháp của vòng lặp foreach

foreach[$array as $value]

  • $array – Mảng để lặp qua
  • $value – Phần tử riêng lẻ của một mảng

Hãy xem hoạt động của vòng lặp foreach


Xem vòng lặp chọn từng phần tử của mảng và áp dụng logic thuận tiện như thế nào. Có một cú pháp lý tưởng khác cho các trường hợp bạn có thể cần các cặp khóa-giá trị của mảng. Nó tương tự như cái trước nhưng có một chút thay đổi

foreach[$array as $key => $value]

  • $array – Mảng để lặp qua
  • $key    – Giá trị khóa của phần tử
  • $value – Phần tử riêng lẻ của một mảng

Đừng lo lắng nếu nó có vẻ khó hiểu vì chúng tôi cũng có bản demo mã cho cái này


Vòng lặp foreach đơn giản hóa mã và làm cho nó trực quan và dễ đọc hơn nhiều. Đó là lý do tôi thích nó. Tuy nhiên, một số nhà phát triển vẫn có thể thích vòng lặp for thông thường hơn. Vì vậy, hãy xem cách lặp qua một mảng trong PHP bằng vòng lặp for

Cách thoát khỏi vòng lặp foreach

Đôi khi bạn muốn lặp qua một mảng cho đến khi bạn đáp ứng một số tiêu chí. Bạn có thể đang đếm đến một số nhất định hoặc đang tìm kiếm một giá trị nhất định. Sử dụng từ khóa break bất cứ khi nào bạn cần kết thúc vòng lặp foreach. Bạn cũng có thể chuyển một số nguyên nếu bạn cần thoát ra khỏi vòng lặp foreach lồng nhau

Chúng tôi có một bài viết đầy đủ về chủ đề này nếu bạn muốn xem các ví dụ. Làm thế nào để thoát ra khỏi vòng lặp foreach

vì. Lặp qua một số phần tử đã đặt trong một mảng

Vòng lặp for là một khái niệm khá cơ bản trong nhiều ngôn ngữ lập trình và PHP cũng không khác. Nếu bạn đến từ các ngôn ngữ như C, C++ hoặc Java, bạn có thể đã quen với việc lặp qua một mảng bằng vòng lặp for. Rất vui, bạn cũng có thể làm điều đó trong PHP. Trước tiên hãy xem cú pháp

for[$i = 0; $i < $n; $i ++]

  • $i = 0  – Khởi tạo biến đếm $i
  • $i < $n – Kiểm tra Boolean cho bộ đếm [Vòng lặp dừng nếu điều kiện sai]
  • $i ++    – Tăng giá trị bộ đếm

Hãy sử dụng lại đoạn code demo của vòng lặp foreach nhưng lần này hãy sử dụng vòng lặp for để thay thế


Tự hỏi làm thế nào để làm lại mã khóa-giá trị đó bằng cách sử dụng vòng lặp for thay vì foreach?


Thấy chưa, có rất nhiều rắc rối khi thực hiện cùng một đoạn mã với vòng lặp for. Độ phức tạp của mã tăng lên do hàm array_keys trước vòng lặp

Chúng tôi đã sử dụng lại các bản trình diễn mã để bạn có thể phát hiện ra sự khác biệt và hiểu tùy chọn nào tốt hơn để bạn lặp qua một mảng trong PHP. Hãy nhớ rằng khả năng đọc là một yếu tố quan trọng trong việc viết mã tốt.  

Bây giờ, hãy xem một cách khác để lặp qua một mảng trong PHP, và đó là vòng lặp while

trong khi. lặp qua một mảng dựa trên một điều kiện

Vòng lặp while là một cấu trúc lập trình nổi tiếng khác. Nó được sử dụng khá thường xuyên để lặp qua các mảng thay thế cho vòng lặp for. Trong khi vòng lặp kiểm tra một điều kiện trên mỗi lần lặp và ngắt nếu điều kiện sai. Để xem nó hoạt động như thế nào, chúng tôi sẽ tạo lại các bản trình diễn mã trước đó bằng cách sử dụng vòng lặp while


 

Một mối quan tâm chính về vòng lặp while là bạn cần khởi tạo bộ đếm trước vòng lặp và cũng đảm bảo tăng nó trong vòng lặp. Nếu không, nó sẽ lặp vô hạn


Sự tiện lợi và khả năng đọc thậm chí còn giảm hơn nữa, và bây giờ chúng ta phải thận trọng với bộ đếm vòng lặp. Bạn có thể nhận xét dòng tăng bộ đếm và chạy mã ở cuối để trải nghiệm vòng lặp vô hạn

Cuối cùng, chúng ta sẽ thấy vòng lặp do-while, đây là một cấu trúc lập trình không phổ biến và hiếm khi được sử dụng

Khi nào nên sử dụng vòng lặp while và foreach trong PHP

Bạn nên sử dụng vòng lặp while bất cứ khi nào bạn cần lặp cho đến khi một tiêu chí bằng true. Sử dụng vòng lặp foreach bất cứ khi nào bạn cần lặp qua mọi phần tử trong một mảng. Chúng có thể hoán đổi cho nhau vì bạn có thể chèn dấu ngắt trong vòng lặp foreach và bạn có thể thêm bộ đếm để lặp qua mọi phần tử trong vòng lặp while. Chúng tôi khuyên bạn nên sử dụng vòng lặp chính xác cho mục tiêu của mình

Chúng tôi đã viết một bài viết sâu hơn với các ví dụ nếu bạn muốn đi sâu hơn. Khi nào nên sử dụng vòng lặp while và foreach trong PHP

làm trong khi. một sự thay thế cho vòng lặp while

Vòng lặp do-while hiếm khi được sử dụng vì nó làm cho mã trở nên cồng kềnh hơn một cách không cần thiết. Tôi chưa bao giờ sử dụng nó, tôi cũng chưa thấy nhiều nhà phát triển sử dụng nó. Tuy nhiên, đó là tất cả về sở thích cá nhân. Hãy cùng xem một ví dụ sử dụng cùng mã trình diễn, lần này với vòng lặp do-while



Đó là nó. Chúng tôi đã đề cập khá nhiều đến tất cả các tùy chọn để lặp qua một mảng bằng PHP. Chúng tôi hy vọng rằng bạn thích bài viết

Sự khác biệt giữa vòng lặp while và do-while trong PHP

Bạn có thể tò mò liệu có sự khác biệt đáng kể giữa vòng lặp while và do-while không? . Họ hoàn thành cùng một điều và phục vụ cùng một mục đích. Sự khác biệt duy nhất là hình ảnh và cú pháp. Một số lập trình viên có thể xuất thân từ nền tảng sử dụng các vòng lặp do-while thường xuyên hơn các vòng lặp while thông thường. Ngoài ra, có thể có một số lập trình viên thích phong cách trực quan của vòng lặp do-while

Vui lòng xem bài viết của chúng tôi về sự khác biệt giữa vòng lặp while và do-while nếu bạn quan tâm đến chi tiết về sự khác biệt

Cách lặp qua mảng nhiều chiều

Bạn có thể sử dụng tất cả các vòng lặp ở trên để lặp qua các mảng PHP, nhưng sử dụng vòng lặp foreach nói chung là phương pháp mà chúng tôi khuyên dùng. Nếu bạn có 1 hoặc 2 mảng lồng nhau, thì cách tiếp cận đơn giản nhất có thể là chỉ cần chèn các vòng lặp bên trong một vòng lặp khác. Bạn luôn có thể thoát ra khỏi chúng khi cần thiết

Mặt khác, phương pháp này không được khuyến nghị khi bạn có số lượng lồng không xác định trong các mảng đa chiều của mình. Một cách tiếp cận tiềm năng thông minh hơn khi lặp qua các mảng php của bạn là sử dụng hàm đệ quy. Sử dụng một hàm đệ quy cho phép bạn giữ mã của mình ở mức tối thiểu và sẵn sàng cho bất kỳ số lượng lồng nhau nào có thể xảy ra

Tìm hiểu thêm về lặp qua mảng nhiều chiều

Bạn muốn khám phá thêm về mảng PHP?

Chúng tôi có nhiều bài viết thú vị liên quan đến mảng PHP. Bạn có thể khám phá những điều này để tìm hiểu thêm về mảng trong PHP

Kiểm tra xem một mảng có trống trong PHP không

Thêm vào một mảng trong PHP

In một mảng trong PHP

Bài viết liên quan

Cách lặp qua mảng PHP
Mảng kết hợp hoặc bản đồ băm trong PHP là gì
3 loại mảng trong PHP
How to add elements to a PHP array

  • ← Cách in mảng trong PHP
  • Cách kiểm tra xem một mảng có rỗng trong PHP không →

Stephen Phép Lạ

Chào. Tôi hy vọng bạn thích bài viết này. Tôi đã phát triển các trang web và phần mềm một cách chuyên nghiệp trong hơn 20 năm. Tôi bắt đầu FuelingPHP như một cách để đền đáp lại cộng đồng nguồn mở đã giúp tôi có thể sống thoải mái khi xây dựng những thứ tôi yêu thích

Làm cách nào để lưu trữ giá trị trong mảng bằng vòng lặp for trong PHP?

Khai báo mảng $items bên ngoài vòng lặp và sử dụng $items[] để thêm các mục vào mảng . $items = mảng[]; .

Làm cách nào để lặp qua một mảng các mảng trong PHP?

Trả lời. Sử dụng vòng lặp lồng nhau trong PHP .

Làm cách nào để lặp lại mảng không có vòng lặp trong PHP?

Nếu bạn muốn một mảng có chỉ số, hãy sử dụng. $result = array_values[array_column[$foo, 'type']]; Nếu bạn đang sử dụng phiên bản PHP cũ và không thể nâng cấp tại . Ngoài ra, bạn cũng có thể sử dụng array_map[].

Chủ Đề