我试图从嵌套的foreach循环创建一个简单的html表。实际数据将存储在我的数据库中。 我希望桌子看起来像:
---------------------
1 | A | red |
---------------------
2 | B | blue |
---------------------
3 | C | yellow |
---------------------
4 | D | orange |
---------------------
$values1 = "1,2,3,4";
$values2 = "A,B,C,D";
$values3 = "red,blue,yellow,orange";
$var1 = explode(',', $values1);
$var2 = explode(',', $values2);
$var3 = explode(',', $values3);
echo '<table>';
foreach ($var1 as $row1) {
echo '<tr>';
echo '<td>'.$row1.'</td>';
foreach ($var2 as $row2) {
echo '<td>'.$row2.'</td>';
}
foreach ($var3 as $row3) {
echo '<td>'.$row3.'</td>';
}
echo '</tr>';
}
echo '</table>';
答案 0 :(得分:3)
此代码有效:
<?php
$values1 = "1,2,3,4";
$values2 = "A,B,C,D";
$values3 = "red,blue,yellow,orange";
$var1 = explode(',', $values1);
$var2 = explode(',', $values2);
$var3 = explode(',', $values3);
echo '<table border="1">';
for($i = 0; $i < count($var1); $i++){
echo '<tr>';
echo '<td>'.$var1[$i].'</td>';
echo '<td>'.$var2[$i].'</td>';
echo '<td>'.$var3[$i].'</td>';
echo '</tr>';
}
echo '</table>';
答案 1 :(得分:2)
我认为这可以帮到你。将值直接定义为数组,并使用foreach循环表示它们。它更像是mysql_fetch_array表示从数据库中获取的记录的方式。
$values = [];
$values[] = [1, "A", "red"];
$values[] = [2, "B", "blue"];
$values[] = [3, "C", "yellow"];
$values[] = [4, "D", "orange"];
echo '<table>';
foreach ($values as $value) {
echo '<tr>';
echo '<td>'.$value[0].'</td>';
echo '<td>'.$value[1].'</td>';
echo '<td>'.$value[2].'</td>';
echo '</tr>';
}
echo '</table>';
答案 2 :(得分:0)
如果您使用$var1
作为&#34; base&#34;数组,可以方便检查其他数组是否也包含相同的索引(长度与$var1
相同),以避免PHP警告。
foreach ($var1 as $key => $value) {
echo '<tr>';
echo '<td>'.$value.'</td>';
echo '<td>'.(isset($var2[$key]) ? $var2[$key] : '').'</td>';
echo '<td>'.(isset($var3[$key]) ? $var3[$key] : '').'</td>';
echo '</tr>';
}