Bài 10: Vòng lặp foreach trong PHP

Bài 10: Vòng lặp foreach trong PHP

Để làm việc với mảng array, thì vòng lặp foreach trong PHP được sử dụng để truy xuất các phần tử của mảng.

bài số 9 chúng ta đã tìm hiểu vòng lặp for trong PHP, ở bài viết này hãy cùng sonnguyenaz.com tìm hiểu tiếp vòng lặp foreach nhé

Cú pháp vòng lặp foreach trong PHP

Vòng lặp foreach trong PHP có cú pháp như sau:

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

Vòng lặp này chỉ làm việc với mảng, có 2 dạng:

  • Dạng 1: vòng lặp foreach truy xuất trực tiếp vào các giá trị của mảng được gán vào $value
  • Dạng 2: vòng lặp foreach truy xuất vào các phần tử của mạng được gán khóa của mảng vào $key và giá trị được gán vào $value

Ví dụ về vòng lặp foreach trong PHP

Ví dụ 1:

Ta có một mảng array trong PHP như sau:

$mang=array('táo','ổi','xoài','cam','quýt','mit','dừa');

Như ở bài trước chúng ta phải đếm số phần tử trong mảng rồi sử dụng lệnh for để giải.

Nhưng đối với foreach sinh ra là để dành cho mảng array trong PHP, chúng ta chỉ cần làm như sau:

<?php
$mang=array('táo','ổi','xoài','cam','quýt','mit','dừa');
foreach($mang as $value){
	echo $value.'<br>';
}
?>

Kết quả là:

Như vậy, ta thấy lệnh foreach tự động lặp cho đến khi hết các giá trị trong mảng thì thôi, chúng ta không cần phải kiểm tra trong mảng trước.

Với mảng array trên thì $key mặc định sẽ được gán vào 0,1,2,3,4…

Chúng ta thử nhé:

<?php
$mang=array('táo','ổi','xoài','cam','quýt','mit','dừa');
foreach($mang as $key => $value){
	echo 'Key: '.$key.' Value: '.$value.'<br>';
}
?>

Kết quả là:

Ví dụ 2:

Ta có mảng với key và value được cho như sau:

<?php
$mang=array(
'táo'=> 10,
'ổi'=>4,
'xoài'=>7,
'cam'=>8,
'quýt'=>2,
'mit'=>14,
'dừa'=>33
);
foreach($mang as $key => $value){
	echo 'Key: '.$key.' Value: '.$value.'<br>';
}
?>

Lúc này key của mảng không còn là số 0,1,2,3…

Kết quả là:

Nếu sử dụng foreach dạng 1 thì bạn chỉ có thể lấy được số lượng quả:

Ví dụ 3: sử dụng foreach lồng nhau trong PHP

<?php
$mang=array(
'hoaqua' => array(
'táo'=> 10,
'ổi'=>4,
'xoài'=>7,
'cam'=>8,
'quýt'=>2,
'mit'=>14,
'dừa'=>33
),
'bánh kẹo' => array(
'Bánh quy'=> 14,
'Kẹo mút'=>42,
'Kẹo socola'=>17,
'Bánh gạo'=>81,
'Kẹo gừng'=>32,
'Kẹo mít'=>144,
'Bánh sữa'=>332
)
);
foreach($mang as $key => $value){
	echo '<h2>Loại hàng: '. $key.'</h2><br>';
	foreach($value as $key1 => $value1){
	echo 'Tên hàng: <b>'.$key1.'</b> Số lượng: <b>'.$value1.'</b><br>';
	}
}
?>

Như đoạn code trên thì trong mảng lớn lại lồng các mảng con vào, bới thế 1 vòng lặp foreach trong PHP ta chỉ lấy được các mảng con ra.

Như vậy tiếp tục ta phải thêm một vòng lặp foreach nữa mới lấy được số lượng mỗi loại hoa quả và bánh kẹo ra được.

Kết quả thu được là:

Lời kết

Như vậy, mình và các bạn đã cùng nhau tìm hiểu về câu lệnh foreach trong PHP rồi, các bạn nhớ làm thật nhiều ví dụ về các lệnh đã học nhé.

Vì mỗi bài toán khác nhau mà chúng ta có thể vận dụng các hàm các lệnh cho hợp lý.

Cảm ơn các bạn đã theo dõi bài hướng dẫn này.

Rate this post

sonnguyen

Là một nhân viên IT thích chia sẻ những gì mình biết đến tất cả mọi người. Hi vọng được mọi người ủng hộ, nếu có gì sai sót mong các bạn comment xuống dưới để mình khắc phục. Cảm ơn mọi người!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *