我真的很难理解以下几点。我想建立一个3数据单元格每行基于PHP数组的表格。因此,换句话说,如果数组中有3个值,则应该有如下结构:
<?php
$arr = array("value1","value2","value3");
?>
// Expected outcome:
<table>
<tr>
<td>value1</td>
<td>value2</td>
<td>value3</td>
</tr>
</table>
但是如果第四个值被添加到数组中,它必须动态地创建另一行,换句话说:
<?php
$arr = array("value1","value2","value3","value4");
?>
// Expected outcome:
<table>
<tr>
<td>value1</td>
<td>value2</td>
<td>value3</td>
</tr>
<tr>
<td>value4</td>
<td></td>
<td></td>
</tr>
</table>
我真的不介意哪种解决方案,即使是php和jQuery的混合,但我只关心我可以用来实现上面的一些东西。
发布于 2012-04-24 21:25:10
使用array_chunk函数将数组拆分成组,然后执行几个循环,例如
<?php
$arr = array("value1","value2","value3","value4");
echo "<table>";
$rows = array_chunk($arr,3);
foreach($rows as $row) {
echo "<tr>";
foreach($row as $cell) {
echo "<td>".$cell."</td>";
}
echo "</tr>";
}
echo "</table>";
?>
发布于 2012-04-24 21:41:08
下面是一个逻辑实现:
<?php
$input_array = array('a', 'b', 'c', 'd', 'e','f','g');
$new_array = array_chunk($input_array, 3);
$table = '<table border="1">';
foreach($new_array as $value){
$table .= '<tr><td>'.$value[0].'</td><td>'.$value[1].'</td><td>'.$value[2].'</td> </tr>';
}
$table.='</table>';
echo $table;
?>
发布于 2012-04-24 21:26:00
<table><tr>
<?php
$arr = array("value1","value2","value3","value4","value5","value6","value7");
for($i=0;$i<count($arr)%3;$i++)
$arr[] = null;
foreach($arr as $key => $val){
if(($key)%3==0)
echo '</tr><tr>';
echo '<td>'.$val.'</td>';
}
?>
</tr></table>
https://stackoverflow.com/questions/10298676
复制相似问题