获取PHP数组值并循环打印

时间:2014-06-16 02:38:41

标签: php arrays loops html-table

我有一个包含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>内有一个循环!如何在第一行打印每个名称?

3 个答案:

答案 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>";
}