Php 如何格式化具有指定列数的表中的数组数据?

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",

我试图将复选框数组数据放入包含3列的表中

我有一个名为$a的数组,它包含从a到Z的26个数据

然后我有另一个名为$b的数组,它包含一些数据

我想创建一个包含26个复选框的3列表,其中数据位于数组$a中

如果数据包含在$b中,将选中其复选框,否则将取消选中

下面是我的代码。我不知道如何设置循环的格式,以便复选框和表格能够正确显示。请帮忙

<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