从数组的数字元素创建HTML表

时间:2015-10-28 16:25:35

标签: javascript php html

我有变量$count,它包含我的数组的总元素。 我想将html代码插入到另一个变量中,该变量包含与变量$ count行一样多的行的表。 我怎么办?

<?php 
$count=5;
$html="<table>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>"
?>

4 个答案:

答案 0 :(得分:1)

有很多可能性。

使用循环:

$table = '<table>';
for ($i = 0; $i < $count; $i++) {
    $table .= '<tr><td></td><td></td></tr>';
}
$table .= '</table>';

或者您可以使用str_repeat

$table = '<table>';
$table .= str_repeat('<tr><td></td><td></td></tr>', $count);
$table .= '</table>';

或许多其他人 - 取决于您的需求

答案 1 :(得分:0)

您可以使用:

<?php 
$count = 5; 
?>

<table>
    <?php for($i = 0; $i < $count; $i++) : ?>
    <tr>
        <td></td>
        <td></td>
    </tr>
    <?php endfor; ?>
</table>

答案 2 :(得分:0)

对问题不太确定(这是非常模糊的),但我会尽力帮助。

<?php
$count = 5;
$html = "<table>";

for($i=0;$i<$count;$i++){
    $html .= "<tr><td>New Row!</td></tr>";
}

$html .= "</table>";

将此用于行。

<?php
$count = 5;
$html = "<table><tr>";

for($i=0;$i<$count;$i++){
    $html .= "<td>New column!</td>";
}

$html .= "</tr></table>";

将此用于列。

将两个示例合并为具有动态行和列的100%动态表。如果你有一个阵列,你最好只使用foreach

<?php
$array = array( array('Col1'=>'Val1', 'Col2'=>'Val2', 'Col3'=>'Val3'), array('Col1'=>'Test', 'Col2'=>'Test', 'Col3'=>'Test') );
$html = "<table>\n\t<tr>";

//Columns
foreach(array_key($array[0]) as $col){
    $html .= "\n\t\t<td>{$col}</td>";
}

$html .= "\n\t</tr>";

//Rows
foreach($array as $row){
    $html .= "\n\t<tr>";

    foreach($row as $rowcol){
        $html .= "\n\t\t<td>{$rowcol}</td>";
    }

    $html .= "\n</tr>";
}

$html .= "</table>";

是的,我对新行和标签有点强迫症。

如果您可以使用用例更新您的问题,我可以提供更好,更准确的示例。

答案 3 :(得分:0)

你可以通过两种方式做到这一点。通过使用foreach或for / while循环。

在我看来,你可以继续使用foreach来迭代你的数组()。

<?php $array= array('blue', 1, 3, 'red', 'monkey'); ?>
<table>
<?php foreach($array as $value): ?>
  <tr>
     <td><?php echo $value ?></td>
   </tr>';
<?php endforeach; ?>
</table>
?>

对我而言,这是迭代数组的更简洁方法。如果您只想在表格上创建多个列/行,而不是使用for($i=0; $i<$count; i++)