表格,分3列输入

k_badboy 2009-08-18 09:07:30
// 你们也是这样做的吗?

$col = 3;

$i=0;
foreach($arr as $a)
{
if ($i%3==0) echo "<tr>";
echo "<td>" . $a "</td>";
if ($i%3==0) echo "</tr>";
$i++;
}
...全文
67 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxtrayn 2009-08-18
  • 打赏
  • 举报
回复

<style>
div{
margin:0;
padding:0;
}
.box{
width:300px;
}
.box div{
width:100px;
float:left;
}
</style>
<?php
$arr = array(2,3,5,6,5,5,5,6,6,55,6,6,5,5,55,32025);
echo '<div class="box"><div>'.implode('</div><div>',$arr).'</div></div>';
lxtrayn 2009-08-18
  • 打赏
  • 举报
回复
CSS来,这种情况用table就是累赘
lin_wen_jun 2009-08-18
  • 打赏
  • 举报
回复
上面可以省去设置全局变量的麻烦,不知道关联数组起作用不,楼主自己测试下。
lin_wen_jun 2009-08-18
  • 打赏
  • 举报
回复
用array_slice比较简单一些,而且楼主的条件判断好像有问题

$arr = array(2,3,5,6,5,5,5,6,6,55,6,6,5,5,55,32025);

echo "<table border=1>";
for ($i=0; $i<ceil(count($arr)/3); $i++){
$result = array_slice($arr, $i*3, 3);
echo "<tr>";
foreach($result as $r){
echo "<td>$r</td>";
}
echo "</tr>";
}
echo "</table>";
CunningBoy 2009-08-18
  • 打赏
  • 举报
回复
晕倒,自己脑袋不清楚,也写错了,修改一下:
$col = 3; 
$i=0;
foreach($arr as $a)
{
if ($i%$col==0) echo " <tr>";
echo " <td>" . $a " </td>";
if ($i%$col==$col - 1) echo " </tr>";
$i++;
}
fenyao 2009-08-18
  • 打赏
  • 举报
回复
CunningBoy 2009-08-18
  • 打赏
  • 举报
回复
你的逻辑不对吧,应该是:
$col = 3; 
$i=0;
$isEnd=0;
foreach($arr as $a)
{
if ($i%$col==0) {
echo " <tr>";
$isEnd = 1;
}
echo " <td>" . $a " </td>";

if ($i%$col==0 && $isEnd == 1){
$isEnd = 0;
echo " </tr>";
}
$i++;
}
江南昆虫 2009-08-18
  • 打赏
  • 举报
回复
$arr = array(1,2,3,4,5,6,7,8,9,10);
$col = 3;
$i=0;
echo("<table border=1><tr>");
foreach($arr as $a)
{
if ($i%3==0&&$i>0) echo "</tr><tr>";
echo " <td>$a</td>";
$i++;
}
if ($i%3>0) echo str_repeat("<td> </td>",3-$i%3);
echo("</tr></table>");
江南昆虫 2009-08-18
  • 打赏
  • 举报
回复
echo str_repeat("<td> </td>",3-$i%3);
k_badboy 2009-08-18
  • 打赏
  • 举报
回复
谢谢大家的热心帮助。其实我也只是想确认一下有没有更简洁方便的方法。(我的代码本身也有问题的)

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧