Php 如何格式化具有指定列数的表中的数组数据?
我试图将复选框数组数据放入包含3列的表中 我有一个名为$a的数组,它包含从a到Z的26个数据 然后我有另一个名为$b的数组,它包含一些数据 我想创建一个包含26个复选框的3列表,其中数据位于数组$a中 如果数据包含在$b中,将选中其复选框,否则将取消选中 下面是我的代码。我不知道如何设置循环的格式,以便复选框和表格能够正确显示。请帮忙Php 如何格式化具有指定列数的表中的数组数据?,php,arrays,html-table,Php,Arrays,Html Table,我试图将复选框数组数据放入包含3列的表中 我有一个名为$a的数组,它包含从a到Z的26个数据 然后我有另一个名为$b的数组,它包含一些数据 我想创建一个包含26个复选框的3列表,其中数据位于数组$a中 如果数据包含在$b中,将选中其复选框,否则将取消选中 下面是我的代码。我不知道如何设置循环的格式,以便复选框和表格能够正确显示。请帮忙 <html> <body> <table> <?php $a = array("A", "B", "C", "D",
<html>
<body>
<table>
<?php
$a = array("A", "B", "C", "D", "E","F","G","H","I","J","K","L","M","N","O","P","Q","R","s","T","U","V","W","X","Y","Z");
$b = array("A","C","G","L","O","P","R","X","Z");
$a_size=count($a);
$tr=$a_size/3;
$reminder=$a_size%3;
if ($reminder!=0)
{
$tr+=1;
}
for($i=0;$i<$tr;$i++)
{
echo "<tr>";
foreach ($b AS $c)
{
for($j=0;$j<3;$j++)
{
if(in_array($c,$b))
{
echo "<td><input name=\"system[]\" type=\"checkbox\" value=\"$c\" CHECKED> $c </td>";
}
else
{
echo "<td><input name=\"system[]\" type=\"checkbox\" value=\"$c\"> $c </td>";
}
}
}
echo "</tr>";
}
?>
</table>
</body>
</html>
我觉得你把事情搞得有点复杂了!以下是我将如何处理这种情况:
<?php
$a = array("A", "B", "C", "D", "E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
$b = array("A","C","G","L","O","P","R","X","Z");
?>
<table>
<?php foreach ($a as $k => $v) : ?>
<tr>
<td><?php echo $v; ?></td>
<td><input type="checkbox" name="system[]" value="<?php echo $v; ?>" <?php if (in_array($v, $b)) echo 'checked'; ?> /></td>
<!-- add as many td's here as you like -->
</tr>
<?php endforeach; ?>
</table>
这里有另一种翻转布局的方法
<?php
$a = array("A", "B", "C", "D", "E","F","G","H","I","J","K","L","M","N","O","P","Q","R","s","T","U","V","W","X","Y","Z");
$b = array("A","C","G","L","O","P","R","X","Z");
?>
<table>
<?php for ($i = 0; $i < 3; $i++) : ?>
<tr>
<?php foreach($a as $k => $v) : ?>
<td><?php echo $v; ?><input type="checkbox" name="system[]" value="<?php echo $v; ?>" <?php if (in_array($v, $b)) echo 'checked'; ?> /></td>
<?php endforeach; ?>
</tr>
<?php endfor; ?>
</table>
在聊天室中讨论后,我得到了您要查找的代码:
<table>
<tr>
<?php for($i = 1; $i < count($a); $i++) : $j = $i-1; ?>
<td><?php echo $a[$j]; ?><input type="checkbox" name="system[]" value="<?php echo $a[$j]; ?>" <?php if (in_array($a[$j], $b)) echo 'checked'; ?> /></td>
<?php if($i % 3 === 0) echo '</tr><tr>'; ?>
<?php endfor; ?>
</tr>
</table>
智能编码!我喜欢,但它是单列显示的。如何将它们分成3列?@Newbie只需在显示+1的地方添加更多内容,以便单独使用备用语法。@Newbie你的意思是3行吗?@Newbie请查看上次更新,这就是你想要的:D