Computer >> Máy Tính >  >> Lập trình >> PHP

Vòng lặp foreach PHP.

Giới thiệu

foreach câu lệnh là một trong những cấu trúc lặp được cung cấp bởi PHP. Các câu lệnh lặp khác - while, do while và for - được sử dụng để tạo thành một vòng lặp có điều kiện hoặc đếm. Mặt khác, vòng lặp foreach rất thuận tiện để lặp qua cấu trúc mảng. Cách sử dụng câu lệnh foreach như sau -

Cú pháp

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

Dạng foreach đầu tiên lặp qua các phần tử trong một mảng được lập chỉ mục. Trên mỗi lần lặp, biến $ value được đặt thành phần tử hiện tại trong mảng. PHP theo dõi con trỏ bên trong bằng cách chuyển sang phần tử tiếp theo, cho đến khi nó đến cuối mảng. Giá trị của mỗi elememt được xử lý bởi phần thân của vòng lặp theo sau câu lệnh foreach

Dạng thứ hai thích hợp cho việc duyệt mảng kết hợp. Mỗi lần lặp lại giải nén phần tử hiện tại trong các biến $ key và $ value. Sau khi phần nội dung của vòng lặp được xử lý, con trỏ mảng được nâng cao thành cặp khóa-giá trị tiếp theo cho đến khi mảng cạn kiệt.

Ví dụ sau duyệt qua một mảng được lập chỉ mục với sự trợ giúp của vòng lặp foreach

Ví dụ

<?php
$arr = array(2,4,6,8,10);
foreach ($arr as $i){
   echo $i . "*2=" . $i*2 . "\n";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

2*2=4
4*2=8
6*2=12
8*2=16
10*2=20

Ví dụ sau đây cho thấy truyền của mảng kết hợp với vòng lặp foreach

Ví dụ

<?php
$arr = array("Phy"=>50, "Che"=>60, "Maths"=>70, "Bio"=>80);
foreach ($arr as $sub=>$marks){
   echo "marks in $sub: " . $marks . "\n";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

marks in Phy: 50
marks in Che: 60
marks in Maths: 70
marks in Bio: 80

Mảng hai chiều được duyệt bằng cách sử dụng các vòng foreach lồng nhau

Ví dụ

<?php
$arr1=[1,2,3,4,5];
$arr2=[6,7,8,9,10];
$twodim=[$arr1,$arr2];
foreach ($twodim as $row){
   foreach ($row as $col){
      echo $col . " ";
   }
   echo "\n";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

1 2 3 4 5
6 7 8 9 10

Ví dụ

Một mảng hai chiều của mảng kết hợp được duyệt trong ví dụ sau

Ví dụ

<?php
$arr1=["rno"=>1, "name"=>"Kiran", "marks"=>50];
$arr2=["rno"=>2, "name"=>"anil", "marks"=>60];
$arr3=["rno"=>3, "name"=>"Bina", "marks"=>70];
$twodim=[$arr1,$arr2, $arr3];
foreach ($twodim as $row){
   foreach ($row as $k=>$v){
      echo $k . ":" . $v . " ";
   }
   echo "\n";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

rno:1 name:Kiran marks:50
rno:2 name:anil marks:60
rno:3 name:Bina marks:70