我有变量$count
,它包含我的数组的总元素。
我想将html代码插入到另一个变量中,该变量包含与变量$ count行一样多的行的表。
我怎么办?
<?php
$count=5;
$html="<table>
<tr>
<td></td>
<td></td>
</tr>
</table>"
?>
答案 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++)
。