Foreach bên trong vòng lặp while php

Hôm nay, chúng ta sẽ tìm hiểu cách lặp qua một mảng trong PHP bằng cách sử dụng vòng lặp while ****, vòng lặp for và các hàm Mảng PHP khác nhau

PHP là một trong những ngôn ngữ đơn giản nhất và duyệt qua một mảng trong php rất dễ dàng. Nguyên vẹn, cách phổ biến nhất để truy cập các mục trong mảng trong php là sử dụng các vòng lặp. trong khi, cho và làm. trong khi

Hãy nhảy vào nó

1. Trong khi lặp lại

Vòng lặp while là vòng lặp rất phổ biến trong tất cả các ngôn ngữ và PHP cũng không khác. Trên thực tế, vòng lặp while là một trong những phương pháp phổ biến nhất để lặp qua mảng PHP

Hãy kiểm tra cú pháp

cú pháp

Điều đó có nghĩa là, trong khi biểu thức (hoặc điều kiện) đã cho là đúng, hãy thực thi mã bên trong dấu ngoặc nhọn và kiểm tra lại biểu thức. Tiếp tục làm điều đó, cho đến khi biểu thức trở thành sai

Cách lặp lại mảng PHP bằng vòng lặp while

Các mảng PHP có các phần tử có thể được truy cập thông qua vị trí chỉ mục của nó, phải không?

Vì vậy, chúng ta có thể sử dụng vòng lặp while để thay đổi vị trí chỉ mục tăng dần hoặc giảm dần do đó truy cập mọi phần tử (hoặc các phần tử chọn lọc theo điều kiện)

Hãy xem nó hoạt động như thế nào,

Thí dụ

Ở đây, chúng ta sẽ tạo một biến vị trí chỉ mục và bắt đầu với vị trí thứ 0 đầu tiên trong một mảng

Điều kiện sẽ là tiếp tục tìm nạp phần tử từ một mảng cho đến khi các giá trị chỉ mục của chúng ta nhỏ hơn số lượng mảng (hoặc độ dài của mảng đã cho)

Vì, vòng lặp while sẽ không tự động tăng biến chỉ mục của chúng ta, nên chúng ta cần tăng nó bên trong vòng lặp. Do đó, với mỗi lần lặp, biến sẽ di chuyển đến vị trí chỉ mục tiếp theo

đầu ra

2. vòng lặp làm trong khi

Chà, cá nhân tôi thì đó là vòng lặp ít yêu thích nhất của tôi trong mọi ngôn ngữ lập trình, vì vậy có lẽ tôi sẽ nói ít hơn

do while là một loại vòng lặp khác trong php (và hầu hết tất cả các ngôn ngữ lập trình. ngoại trừ một số ngôn ngữ chức năng. Vâng, tôi đang nhìn bạn Smalltalk )

Nó hầu như tương tự như vòng lặp while, ngoại trừ thứ tự đảo ngược

  • Trong vòng lặp while, điều kiện hoặc biểu thức được kiểm tra trước & nếu đúng, thì mã bên trong vòng lặp sẽ được thực thi
  • Trong vòng lặp do while, mã bên trong vòng lặp được thực thi trước và sau đó điều kiện được kiểm tra. Nếu điều kiện là đúng, thì nó sẽ thực thi lại mã, v.v.

Hãy kiểm tra cú pháp

cú pháp

Điều đó có nghĩa là, trong khi biểu thức (hoặc điều kiện) đã cho là đúng, hãy thực thi mã bên trong dấu ngoặc nhọn và kiểm tra lại biểu thức. Tiếp tục làm điều đó, cho đến khi biểu thức trở thành sai

Ghi chú. Đừng bỏ lỡ dấu chấm phẩy ở cuối. tôi luôn quên điều đó

Nếu không có gì khó chịu, hãy lặp lại ví dụ trước bằng cách sử dụng vòng lặp do while

Cách lặp qua mảng php bằng vòng lặp do while

Chúng tôi sẽ lặp qua một mảng người dùng bằng cách sử dụng vòng lặp do while

Thí dụ

đầu ra

3. cho vòng lặp

Hãy nói về vòng lặp phổ biến nhất. vòng lặp for

Vòng lặp for là vòng lặp chung yêu thích nhất của tôi (vòng tiếp theo tôi thường sử dụng cho trường hợp sử dụng cụ thể này) cho bất kỳ trường hợp sử dụng lặp lại chung nào. Nó thực hiện chính xác như vòng lặp while nhưng nó có cú pháp khác, nhỏ gọn hơn

cú pháp

Thoạt nhìn có vẻ rất phức tạp, nhưng khi bạn có một chút kinh nghiệm, tin tôi đi, bạn sẽ thích điều này hơn hầu hết thời gian

Nó có phần giữ chỗ cho ba biểu thức (mỗi biểu thức là tùy chọn, vì vậy bạn vẫn có thể sử dụng vòng lặp này giống như vòng lặp while)

  • Expr1 - Nó được thực thi một lần khi bắt đầu vòng lặp, vì vậy thông thường nó được sử dụng để khởi tạo bất kỳ bộ đếm nào sẽ được sử dụng
  • Expr2 - Đây là phần điều kiện. Khi bắt đầu mỗi lần lặp, biểu thức này được đánh giá và nếu đúng thì chỉ nó sẽ tiếp tục
  • Expr3 - Nó được thực thi ở cuối lần lặp. Thường được sử dụng để tăng/giảm bộ đếm của chúng tôi

Hãy tạo lại ví dụ của chúng ta bằng vòng lặp for

Cách lặp qua mảng bằng vòng lặp for trong PHP

Như được hiển thị bên dưới, nó hoàn toàn giống với vòng lặp while, ngoại trừ cú pháp cô đọng và tốt hơn. Ngoài ra, đối với câu lệnh một dòng, bạn có thể bỏ dấu ngoặc nhọn;)


đầu ra

4. vòng lặp foreach

Nói về cú pháp cô đọng, hãy nói về một vòng lặp đặc biệt và tuyệt vời khác - vòng lặp Foreach

Vòng lặp này chỉ hữu ích khi bạn muốn lặp lại từng mục. Ví dụ: nếu - bạn chỉ muốn truy cập các mục ở vị trí chẵn, thì đáng buồn là vòng lặp này không dành cho bạn, bạn cần sử dụng các vòng lặp ở trên

Tuy nhiên, đối với mục đích sử dụng cụ thể là truy cập từng mục (xem cách chơi chữ không?), foreach là mục yêu thích của tôi và trên thực tế sẽ là mục yêu thích của mọi người. Nó rất đơn giản và dễ sử dụng

cú pháp

Hãy kiểm tra ví dụ

Cách lặp qua mảng bằng vòng lặp foreach trong PHP

Hãy tạo lại ví dụ của chúng tôi. Chúng tôi sẽ không cần khóa (vị trí) do đó chúng tôi sẽ sử dụng foreach không có khóa

đầu ra

5. array_walk

Array_walk là một hàm mảng do PHP cung cấp, áp dụng hàm đã cho cho từng phần tử trong mảng, do đó có tên là "array_walk"

cú pháp

array_walk(array|object &$array, callable $callback, mixed $arg = null): bool

Thông số

  • mảng - Đây là mảng đầu vào để lặp lại
  • gọi lại - Đây là một chức năng được truyền cho chức năng này sẽ hoạt động trên từng mục một. Hàm này có hai tham số - 1. Giá trị vật phẩm 2. Vị trí chỉ mục của mục
  • args - Đó là các đối số tùy chọn mà nếu được cung cấp, sẽ được chuyển thành tham số thứ ba cho hàm gọi lại

Trở về

Nó trả về true khi thực hiện thành công

Hãy tạo lại ví dụ của chúng tôi

Thí dụ

đầu ra

6. Trình lặp mảng

Đây là cách khá tiên tiến và phức tạp để lặp lại một mảng. Thành thật mà nói, tôi không hiểu lý do tại sao bạn cần sử dụng phương pháp này thay vì các phương pháp khác, nhưng với mục đích giải trí và học hỏi, hãy cùng khám phá phương pháp này

Ở đây, chúng ta sẽ tạo đối tượng ArrayIterator bằng hàm ArrayObject và sử dụng nó để lặp qua một mảng. Nó dựa trên cơ chế con trỏ giống như C++

Thí dụ

getIterator();

while( $array_iterator->valid() )
{
    echo $array_iterator->current() . "\n";
    $array_iterator->next();
}
?>

đầu ra

Sự kết luận

Cho đến nay, chúng ta đã thấy 6 cách để lặp qua một mảng trong PHP. Cá nhân tôi thích sử dụng foreach vì nó rất đơn giản nhưng bạn có thể sử dụng bất kỳ phương pháp nào ở trên. Hy vọng, điều này đã giúp

Chúng ta có thể sử dụng foreach bên trong vòng lặp không?

Vòng lặp foreach trong PHP dùng để truy cập các cặp khóa-giá trị của một mảng. Vòng lặp này chỉ hoạt động với mảng và bạn không phải khởi tạo bất kỳ bộ đếm vòng lặp nào hoặc đặt bất kỳ điều kiện nào để thoát khỏi vòng lặp, mọi thứ được thực hiện ngầm (nội bộ) bởi vòng lặp.

Vòng lặp foreach trong PHP là gì?

Vòng lặp foreach được dùng để duyệt qua các phần tử mảng . Nó chỉ hoạt động trên mảng và đối tượng. Nó sẽ báo lỗi nếu bạn cố gắng sử dụng nó với các biến có kiểu dữ liệu khác nhau. Vòng lặp foreach hoạt động trên cơ sở phần tử chứ không phải chỉ mục. Nó cung cấp một cách dễ dàng nhất để lặp lại các phần tử của một mảng.

Sự khác biệt giữa vòng lặp for và foreach trong PHP là gì?

For và foreach là các loại vòng lặp được sử dụng cho các mục đích khác nhau trong PHP, trong đó foreach được sử dụng để triển khai các mảng kết hợp và for được sử dụng với các biến. The for loop works by the end of the loop condition. On the other hand, the foreach loop works at the end of the array count.

Chúng ta có thể sử dụng foreach bên trong foreach trong Java không?

Vì bạn đang hoạt động trên luồng nên nó cũng cho phép bạn lọc và ánh xạ các phần tử. Khi bạn đã hoàn tất việc lọc và ánh xạ, bạn có thể sử dụng forEach() để thao tác trên chúng . Bạn thậm chí có thể sử dụng tham chiếu phương thức và biểu thức lambda bên trong phương thức forEach(), dẫn đến mã rõ ràng và ngắn gọn hơn.