The array you're trying to iterate with your foreach loop is not the same as the array you have. In order to use that loop, your array would need to be like this instead:
Nội dung chính
- Cú pháp hàm Foreach Array PHP
- Nguyên tắc hoạt động của Vòng lặp Foreach PHP
- Lưu đồ Vòng lặp PHP Foreach
- Các ví dụ về hàm Foreach trong PHP
- Kết luận:
[
[
'work_time' => 0.00,
'break_time' => 0.00,
'meeting_time' => 0.00,
'login_time' => '10:11',
'logout_time' => '00:00',
'work_date' => '2018-04-13'
],
[
'work_time' => 3.96,
'break_time' => 0.00,
'meeting_time' => 0.00,
'login_time' => '08:48',
'logout_time' => '13:00',
'work_date' => '2018-04-16'
],
[
'work_time' => 7.75,
'break_time' => 1.06,
'meeting_time' => 0.00,
'login_time' => '09:09',
'logout_time' => '17:59',
'work_date' => '2018-04-17'
],
];
The array you have looks like the type of input you get if you have an HTML form with multiple rows of inputs with names like this:
If that is the case, you can get an array like the one I showed above instead by switching the keys around and specifying a numeric key for each row:
Then it will make more sense to access the data as rows. If that's not the case, well, never mind. :]
On the other hand, with the array you have, you can just iterate one of the inner arrays directly. For example, if you wanted to show login_time values, it's just
foreach [$Work['login_time'] as $login_time] {
echo $login_time;
}
If you need to get corresponding values from the other inner arrays, you can use the key from the array you're iterating to access those as well:
foreach [$Work['login_time'] as $key => $login_time] {
echo 'login time: ' . $login_time . ', work_date: ' . $Work['work_date'][$key];
}
Nội dung
- Vòng lặp Foreach PHP hoạt động như thế nào
- Cú pháp hàm Foreach Array PHP
- Nguyên tắc hoạt động của Vòng lặp Foreach PHP
- Lưu đồ Vòng lặp PHP Foreach
- Các ví dụ về hàm Foreach trong PHP
- Ví dụ 1
- Ví dụ 2
- Ví dụ 3
- Ví dụ 4
- Kết luận:
Trước tiên, ta cùng nhắc lại khái niệm vòng lặp là gì? Vòng lặp là một chuỗi hành động được lặp lại nhiều lần trên khối mã và theo một nguyên tắc nhất định. Hiện nay, có nhiều loại vòng lặp PHP như for, while, do và trong đó phải nhắc đến vòng lặp Foreach PHP.
Vòng lặp Foreach sẽ giúp bạn cải thiện được mã nguồn gọn gàng và nhanh chóng hơn. Đặc biệt là giúp các bạn mới bắt đầu học lập trình dễ dàng viết mã, hoặc các bài liên quan đến cơ sở dữ liệu.
Vậy cách PHP Foreach này hoạt động ra sao và cú pháp như thế nào, hãy cùng chúng tôi tìm hiểu ở bài viết ngay bên dưới nhé.
Cũng như các vòng lặp khác trong PHP, vòng lặp Foreach PHP là cú pháp giúp bạn lặp 1 đoạn mã nhiều lần với số lần lặp bằng chính số phần tử của mảng.
Điểm khác biệt là vòng lặp PHP Foreach chỉ làm việc với Array [mảng] mà thôi, nên nếu bạn cố gắng sử dụng chúng trên các loại biến khác, sẽ dễ dẫn đến lỗi.
Các hàm Foreach trong PHP đều có mục đích cụ thể, được sử dụng với các loại biến PHP phức tạp hơn như mảng và đối tượng [objects].
Với mỗi vòng lặp tham số $value thay đổi thành một giá trị mới. Trong một vòng lặp PHP thông qua mảng hoặc một đối tượng, $value nhận từng giá trị từ phần tử đầu tiên cho đến khi mảng kết thúc.
Sau đây là ví dụ, hàm Foreach trong PHP được sử dụng để hiển thị mọi phần tử trong mảng $animals:
[Nguồn: //www.bitdegree.org/learn/php-for-loop#foreach-explained]
Cú pháp hàm Foreach Array PHP
Chúng chỉ hoạt động trên mảng và đối tượng. Nếu bạn cố gắng sử dụng với các biến của kiểu dữ liệu khác sẽ gây ra lỗi.
Vòng lặp hoạt động dựa trên cơ sở các phần tử thay vì index. Chúng cung cấp một các dễ dàng nhất để lặp lại các phần tử của một mảng và chúng ta không cần tăng thêm giá trị.
Dưới đây là 2 cú pháp hàm Foreach Array PHP thường gặp:
Cú pháp 1:
foreach [$array as $value] {
//code to be executed
}
Cú pháp 2
foreach [$array as $key => $element] {
//code to be executed
}
Nguyên tắc hoạt động của Vòng lặp Foreach PHP
Hàm Foreach trong PHP được sử dụng để duyệt các phần tử của mảng. Dựa trên 2 cú pháp trên, vòng lặp foreach cũng có nguyên tắc hoạt động như sau:
- Giá trị đầu tiên của mảng $array sẽ gán vào biến tạm $value ở vòng lặp đầu tiên
- Sau đó, qua mỗi vòng lặp thì biến tạm sẽ được gán giá trị của phần tử tiếp theo của mảng
- Cứ như vậy, vòng lặp sẽ lặp đi lặp lại đến khi duyệt qua tất cả các phần tử trong mảng $array.
Lưu đồ Vòng lặp PHP Foreach
Để bạn có thể hiểu hơn về vòng lặp Foreach trong PHP, sau đây là lưu đồ của chúng
Một mẫu vòng lặp FOREACH trong PHP
Các ví dụ về hàm Foreach trong PHP
Để bạn có thể dễ dàng hiểu hơn về vòng lặp Foreach trong PHP, sau đây là các ví dụ dành cho bạn:
Ví dụ 1
Chương trình PHP để xuất các phần tử mảng bằng hàm foreach in PHP
Kết quả:
Summer
Winter
Autumn
Rainy
Ví dụ 2
Chương trình PHP để xuất các phần tử mảng kết hợp bằng vòng lặp Foreach
Kết quả:
Name : Alex
Email :
Age : 21
Gender : Male
Ví dụ 3
Mảng đa chiều – Multi-dimensional array
Kết quả:
Alex Bob Camila Denial
Ví dụ 4
Mảng động – Dynamic array
Kết quả:
i r o n h a c k
Kết luận:
Các vòng lặp giúp quá trình làm việc của bạn rút ngắn được một khoảng thời gian đang kể cho những công việc được lặp lại nhiều lần trên cùng 1 thao tác.
Với Foreach PHP cho phép bạn duyệt qua tất cả các phần tử, đặc biệt là các phần tử của mảng.
Hy vọng bài viết vòng lặp Foreach trong PHP đã cung cấp cho các bạn thông tin cần thiết.
Nếu các bạn muốn tìm hiểu thêm kiến thức cũng như được trải nghiệm thực tế khi học PHP. Hãy xem qua khóa học PHP online của Ironhack Việt Nam nhé !