foreach phương thức lặp lại trên tất cả các hàng của một mảng (hoặc đối tượng), từ hàng đầu tiên cho đến hàng cuối cùng. Điều này khác với while lặp lại theo cách đó while tiếp tục lặp lại cho đến khi một điều kiện nhất định được đáp ứng. Điều này có thể sau 2 lần lặp hoặc 1000 lần lặp, tùy thuộc vào điều kiện bạn đặt.
Trong một foreach vòng lặp, bạn biết rằng sẽ có nhiều lần lặp cũng như có các khóa trong mảng (trừ khi bạn sử dụng break tuyên bố bên trong nó, hủy bỏ nó ngay lập tức).
Kết quả SQL cũng có thể được trả về dưới dạng mảng hoặc đối tượng, có thể được lặp lại. Ví dụ:
$query = "SELECT username,password,email,dob FROM users";
$resultSet = mysqli_fetch_all($query, MYSQLI_BOTH);
foreach ($resultSet as $id => $row) {
echo $row['username'] // Show username
}