达到某个行数后创建新表

时间:2016-03-31 20:54:02

标签: php html-table

我创建了一个代码,将字符转换为二进制,并使表格单元格为黑色/白色,对应于1和0。这是我的代码:

$str_splt = str_split($text);
    echo "<table>";
    for ($a=0;$a < count($str_splt);$a++) {
        $bits = array(128,64,32,16,8,4,2,1);
        $store = array(0,0,0,0,0,0,0,0);
        $inp = ord($str_splt[$a]);
        for ($x=0;$x < count($bits);$x++) {
            if ($bits[$x] <= $inp) {
                $inp = $inp - $bits[$x];
                $store[$x] = 1;
            } else {
                $store[$x] = 0;
            }
        };
        $store_rvs = array_reverse($store);
        echo "<tr>";
        for ($b=0;$b < count($store_rvs);$b++) {
            if ($store_rvs[$b] == '1') {
                echo "<td id=\"blk\"></td>";
            }
            else {
                echo "<td></td>";
            }
        }
        echo "</tr>";
    }
    echo "</table>";

其输出如下($text = "ABCDEFGH"):

out

你可以看到它的8x8表。我想将下一组字节添加到该表的一侧,如下所示:

enter image description here

每个8x8表都是一个组。上面的两张图片是第1组和第2组:

enter image description here

我想显示这样的表格但我无法找到解决方案。

1 个答案:

答案 0 :(得分:1)

我是这样做的。如果你对你好,请忽略我的CSS。我用class替换了id标签,因为每个id只能定义一次。

echo "<html><head>";
echo "<style type='text/css'>";
echo " table, td { padding:0px; margin:0px; }";
echo " td.cell { width:15px; height:15px; }"; 
echo " td.blk { background-color:black; }";
echo " td.wht { background-color:yellow; }";
echo "</style>";
echo "</head><body>";

$text = "ABCDEFGH";
$text.= "ABCDEFGH";

echo "<table><tr><td><table>";
for($a=0; $a<strlen($text); $a++) {
    $chr = substr($text,$a,1);
    $bits = array(128,64,32,16,8,4,2,1);
    $store = array(0,0,0,0,0,0,0,0);
    $inp = ord($chr);
    for($x=0; $x<count($bits); $x++) {
        if($bits[$x] <= $inp) {
            $inp = $inp - $bits[$x];
            $store[$x] = 1;
        } else {
            $store[$x] = 0;
        }
    }
    $store_rvs = array_reverse($store);
    if($a % 8 === 0) {
        echo "</table></td><td><table>";
    }
    echo "<tr>";
    for($b=0; $b<count($store_rvs); $b++) {
        if($store_rvs[$b] == '1') {
            echo "<td class='cell blk'></td>";
        } else {
            echo "<td class='cell wht'></td>";
        }
    }
    echo "</tr>";
}
echo "</table></td></tr></table>";