我有一个包含9行的表格。第一列应该打印排名的每个参与者的名称。首先,我做了一个包含它们名称的数组:
$names = array("Mike", "Kyle", "Johnny", "Will", "Vasques");
对于这项任务,我编写了一个包含5行和10列的循环。因此,正如我所提到的,第一列应该打印每个列的名称。
for($x=1; $x<=count($names); $x++) {
echo "<tr>";
for($td=1; $td<=10; $td++) {
echo "<td></td>";
}
echo "</tr>";
}
如您所见,<tr>
有一个循环,<td>
内有一个循环!如何在第一行打印每个名称?
答案 0 :(得分:0)
首先打印名称,然后再打印9 td
。 (必须更改$ x才能从0
转到count($names)-1
以匹配$names
的索引
for($x=0; $x<count($names); $x++) {
echo "<tr>";
echo "<td>$names[$x]</td>";
for($td=2; $td<=10; $td++) {
echo "<td></td>";
}
echo "</tr>";
}
答案 1 :(得分:0)
对空单元格使用foreach
循环和array_fill
// Set the names array.
$names = array("Mike", "Kyle", "Johnny", "Will", "Vasques");
// Set the table cell start key.
$table_cell_start_key = 0;
// Set the table cell count.
$table_cell_count = 9;
// Set the table cells.
$table_cells = implode("", array_fill($table_cell_start_key, $table_cell_count, '<td></td>'));
// Loop through the names array & echo output.
foreach($names as $name) {
echo "<tr>"
. "<td>$name</td>"
. $table_cells
. "</tr>"
;
}
使用array_fill
的好处是您可以在$table_cells
循环之前简单地设置foreach
的值。然后foreach
循环只是基于$names
呈现内容,而额外的表格单元格只是被放入。
答案 2 :(得分:0)
$names = array("Mike", "Kyle", "Johnny", "Will", "Vasques");
for($td=0; $td<=9; $td++) {
echo "<tr>";
if ($td == 0) {
foreach ($names as $name) {
echo "<td>$name</td>";
}
}
echo "<td></td>";
echo "</tr>";
}