php数组写到表格中,表格乱了

有一个数组
$row=array("username"=>"admin" "mail"=>"admin@admin.com" "id"=>"1")
我想输出出来

echo "<table width='50%' border='1' cellspacing='0' cellpadding='5' bgcolor='#cccccc' align='center'>";
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['username']."</td>";
echo "<td>".$row['id']."</td>";
echo "</tr>";
echo "</table>";

为什么表格乱了?每个表格的列宽都会变
图片描述

阅读 5.1k
6 个回答

你该不会是每行都创建了一个新的table吧

新手上路,请多包涵

那就把表的样式固定呗

foreach循环应该在table里,不是在外面

看一下你贴的图,行分割线比较粗,列分割线比较细,多半是每行都是一个table

应该遍历tr td

首先楼主你的数组的写的就不对,应该是$row=array("username"=>"admin","mail"=>"admin@admin.com","id"=>"1");
如果你的数组是一维数组的话,是这样的

echo "<table width='50%' border='1' cellspacing='0' cellpadding='5' bgcolor='#cccccc' align='center'>";
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['username']."</td>";
echo "<td>".$row['id']."</td>";
echo "</tr>";
echo "</table>";

如果数组是二维数组的话,你应该是foreach循环放错了
例如:

$row=array(
    array("username"=>"admin","mail"=>"admin@admin.com","id"=>"1"),
    array("username"=>"uer1","mail"=>"user1@user.com","id"=>"2"),
    array("username"=>"uer2","mail"=>"user2@user.com","id"=>"3")
    );
    
echo "<table width='50%' border='1' cellspacing='0' cellpadding='5' bgcolor='#cccccc' align='center'>";
foreach ($row as $key => $value) {
    echo "<tr>";
    echo "<td>".$value['id']"</td>";
    echo "<td>".$value['username']."</td>";
    echo "<td>".$value['id']."</td>";
    echo "</tr>";
}
echo "</table>";

样式:

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题