Hướng dẫn php foreach next item - php foreach mục tiếp theo

(Php 4, Php 5, Php 7, Php 8)

Cấu trúc foreach cung cấp một cách dễ dàng để lặp lại các mảng. foreach chỉ hoạt động trên các mảng và đối tượng và sẽ đưa ra lỗi khi bạn cố gắng sử dụng nó trên một biến với một loại dữ liệu khác hoặc một biến không chính xác. Có hai cú pháp:

foreach (iterable_expression as $value)
    statement
foreach (iterable_expression as $key => $value)
    statement

Hình thức đầu tiên đi qua các điều đó được đưa ra bởi iterable_expression. Trên mỗi lần lặp, giá trị của phần tử hiện tại được gán cho $value.

Biểu mẫu thứ hai sẽ chỉ định khóa của phần tử hiện tại cho biến $key trên mỗi lần lặp.

Lưu ý rằng foreach không sửa đổi con trỏ mảng bên trong, được sử dụng bởi các hàm như dòng () và key ().current() and key().

Có thể tùy chỉnh lặp đối tượng.

Để có thể sửa đổi trực tiếp các phần tử mảng trong vòng lặp đi trước $value với &. Trong trường hợp đó, giá trị sẽ được gán bằng tham chiếu.

$arr = array(1234);
foreach (
$arr as &$value) {
    
$value $value 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value); // break the reference with the last element
?>

Cảnh báo

Tham chiếu của $value và phần tử mảng cuối cùng vẫn còn ngay cả sau vòng lặp foreach. Nó được khuyến nghị phá hủy nó bằng cách unset (). Nếu không, bạn sẽ trải nghiệm hành vi sau:unset(). Otherwise you will experience the following behavior:

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
2

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
3

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
4

Có thể lặp lại giá trị của mảng không đổi bằng cách tham khảo:

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
5

Ghi chú::

foreach không hỗ trợ khả năng triệt tiêu các thông báo lỗi bằng cách sử dụng

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
7.

Một số ví dụ khác để chứng minh việc sử dụng:

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
8

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
9

foreach0

Giải nén các mảng lồng nhau có danh sách ()

(Php 5> = 5.5.0, Php 7, Php 8)

Có thể lặp lại một mảng mảng và giải nén mảng lồng vào các biến vòng lặp bằng cách cung cấp một danh sách () làm giá trị.list() as the value.

Ví dụ:

foreach1

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
9

foreach3

Ví dụ trên sẽ xuất ra:

Bạn có thể cung cấp ít phần tử hơn trong danh sách () so với trong mảng lồng nhau, trong trường hợp đó, các giá trị mảng còn sót lại sẽ bị bỏ qua:list() than there are in the nested array, in which case the leftover array values will be ignored:

foreach1

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
9

foreach6

Ví dụ trên sẽ xuất ra:

Bạn có thể cung cấp ít phần tử hơn trong danh sách () so với trong mảng lồng nhau, trong trường hợp đó, các giá trị mảng còn sót lại sẽ bị bỏ qua:list():

foreach1

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 
9

foreach9

Ví dụ trên sẽ xuất ra:

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 

Bạn có thể cung cấp ít phần tử hơn trong danh sách () so với trong mảng lồng nhau, trong trường hợp đó, các giá trị mảng còn sót lại sẽ bị bỏ qua:

Một thông báo sẽ được tạo nếu không có đủ các phần tử mảng để điền vào danh sách ():

foreach0

foreach1

foreach2

foreach3

foreach4

Sanusi Hassan ¶

2 tháng trước đây

foreach5

foreach6

foreach7

foreach8

Okafor Chiagozie ¶

2 tháng trước đây

foreach9

iterable_expression0

foreach8