Tạo bảng HTML bằng hai vòng lặp lồng nhau trong PHP
Hãy tạo bảng của chúng ta bằng cách sử dụng hai vòng lặp lồng nhau:
<?php
echo '<table>';
foreach ($arr as $row) {
echo '<tr>';
foreach ($row as $cell) {
echo "<td>$cell</td>";
}
echo '</tr>';
}
echo '</table>';
?>
Cách này thuận tiện ở chỗ không cần phải viết riêng từng ô của bảng. Tuy nhiên, nhược điểm của cách tiếp cận này là mất kiểm soát.
Tuy nhiên, có thể lấy lại quyền kiểm soát bằng các điều kiện, như thế này:
<?php
echo '<table>';
foreach ($arr as $row) {
echo '<tr>';
foreach ($row as $key => $cell) {
if ($key === 'salary') {
echo "<td>$cell dollars</td>";
} else {
echo "<td>$cell</td>";
}
}
echo '</tr>';
}
echo '</table>';
?>
Có thể đơn giản hóa mã của chúng ta như sau:
<?php
echo '<table>';
foreach ($arr as $row) {
echo '<tr>';
foreach ($row as $key => $cell) {
if ($key === 'salary') {
$cell .= ' dollars';
}
echo "<td>$cell</td>";
}
echo '</tr>';
}
echo '</table>';
?>
Cho mảng sau:
<?php
$products = [
[
'name' => 'product1',
'price' => 100,
'amount' => 5,
],
[
'name' => 'product2',
'price' => 200,
'amount' => 6,
],
[
'name' => 'product3',
'price' => 300,
'amount' => 7,
],
];
?>
Hãy tạo bảng HTML từ mảng đó.