Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带符号的PHP表_Php_Html - Fatal编程技术网

带符号的PHP表

带符号的PHP表,php,html,Php,Html,我有10x10的PHP表格。我想做的是,它会像棋盘一样用字母和数字来标记。 这是我当前的代码: <?PHP $myArray = array("","A","B","C","D","E","F","G","H","I","J"); echo "<table>"; for($i = 0; $i < 10; $i++) { echo "<tr>"; for($j = 0; $j < 10; $j++) {

我有10x10的PHP表格。我想做的是,它会像棋盘一样用字母和数字来标记。 这是我当前的代码:

<?PHP
$myArray = array("","A","B","C","D","E","F","G","H","I","J");

echo "<table>";
   for($i = 0; $i < 10; $i++) {
      echo "<tr>";  
      for($j = 0; $j < 10; $j++) {
        echo "<td> </td>";
      }
   echo "</tr>";
}
echo "</table>";
?>


可能的外观,但没有颜色:

您需要超出所需的网格大小添加标签。这将给出您想要的,您可以将
$gridSize
更改为您想要的网格大小

<style type="text/css">
    table.chess {
        padding: 0;
        margin: 0;
    }
    table.chess td {
        width: 25px;
        height:25px;
        padding: 0;
        margin: 0;
        text-align: center;
    }
    table.chess td.odd {
        background: #fff;
    }
    table.chess td.even {
        background: #000;
    }
    table.chess td.top {
        border-top: 1px solid;
    }
    table.chess td.bottom {
        border-bottom: 1px solid;
    }
    table.chess td.left {
        border-left: 1px solid;
    }
    table.chess td.right {
        border-right: 1px solid;
    }
</style>

<?php

$gridSize = 8;

echo "<table class='chess' cellpadding='0' cellspacing='0'>";
    for($i = $gridSize; $i >= 0; $i--) {
        echo "<tr>";
        for($j = 0; $j <= $gridSize; $j++) {
            $classes = [];
            $classes[] = ($j+$i) % 2 ? 'odd' : 'even';

            if ($i === $gridSize) {
                $classes[] = 'top';
            }

            if ($i === 1) {
                $classes[] = 'bottom';
            }

            if ($j === 1) {
                $classes[] = 'left';
            }

            if ($j === $gridSize) {
                $classes[] = 'right';
            }

            if ($j === 0 && $i !== 0) {
                echo "<td>$i</td>";
            } elseif ($i === 0 && $j !== 0) {
                echo "<td>" . chr(65+$j-1) . "</td>";
            } elseif ($i === 0 && $j === 0) {
                echo "<td></td>";
            } else {
                echo "<td class='" . implode(' ', $classes) . "'></td>";
            }
        }
    echo "</tr>";
}
echo "</table>";

国际象棋{
填充:0;
保证金:0;
}
table.chess td{
宽度:25px;
高度:25px;
填充:0;
保证金:0;
文本对齐:居中;
}
表1.国际象棋td.奇数{
背景:#fff;
}
对局{
背景:#000;
}
桌上象棋{
边框顶部:1px实心;
}
表1.1.2.1{
边框底部:1px实心;
}
表1.2.1左{
左边框:1px实心;
}
对局{
右边框:1px实心;
}

要添加标签,需要超出所需网格大小一倍。这将给出您想要的,您可以将
$gridSize
更改为您想要的网格大小

<style type="text/css">
    table.chess {
        padding: 0;
        margin: 0;
    }
    table.chess td {
        width: 25px;
        height:25px;
        padding: 0;
        margin: 0;
        text-align: center;
    }
    table.chess td.odd {
        background: #fff;
    }
    table.chess td.even {
        background: #000;
    }
    table.chess td.top {
        border-top: 1px solid;
    }
    table.chess td.bottom {
        border-bottom: 1px solid;
    }
    table.chess td.left {
        border-left: 1px solid;
    }
    table.chess td.right {
        border-right: 1px solid;
    }
</style>

<?php

$gridSize = 8;

echo "<table class='chess' cellpadding='0' cellspacing='0'>";
    for($i = $gridSize; $i >= 0; $i--) {
        echo "<tr>";
        for($j = 0; $j <= $gridSize; $j++) {
            $classes = [];
            $classes[] = ($j+$i) % 2 ? 'odd' : 'even';

            if ($i === $gridSize) {
                $classes[] = 'top';
            }

            if ($i === 1) {
                $classes[] = 'bottom';
            }

            if ($j === 1) {
                $classes[] = 'left';
            }

            if ($j === $gridSize) {
                $classes[] = 'right';
            }

            if ($j === 0 && $i !== 0) {
                echo "<td>$i</td>";
            } elseif ($i === 0 && $j !== 0) {
                echo "<td>" . chr(65+$j-1) . "</td>";
            } elseif ($i === 0 && $j === 0) {
                echo "<td></td>";
            } else {
                echo "<td class='" . implode(' ', $classes) . "'></td>";
            }
        }
    echo "</tr>";
}
echo "</table>";

国际象棋{
填充:0;
保证金:0;
}
table.chess td{
宽度:25px;
高度:25px;
填充:0;
保证金:0;
文本对齐:居中;
}
表1.国际象棋td.奇数{
背景:#fff;
}
对局{
背景:#000;
}
桌上象棋{
边框顶部:1px实心;
}
表1.1.2.1{
边框底部:1px实心;
}
表1.2.1左{
左边框:1px实心;
}
对局{
右边框:1px实心;
}

以下是您想要的示例(不包括css):


以下是您想要的示例(不包括css):


另一种方法,如果我理解正确,考虑到
$size
被声明并设置为8:

<table>
<?php foreach (range($size, 1) as $n) 
    echo "  <tr><td>$n</td>" . str_repeat('<td></td>', $size) . "</tr>\n"; ?>
  <tr><td><?php
    foreach (range('a', chr(96+$size)) as $l) echo "<td>$l</td>"; ?></tr>
</table>
实例
表{边框折叠:折叠;}
运输署{
宽度:25px;
高度:25px;
边框:1px纯黑;
文本对齐:居中;
}
tr:n个孩子(奇数)td:n个孩子(奇数),
tr:n个孩子(偶数)td:n个孩子(偶数){
背景:灰色;
}
tr td:第一个孩子,tr:最后一个孩子td{
背景:透明!重要;
边界:无;
}

8.
7.
6.
5.
4.
3.
2.
1.
abcdefgh

另一种方法,如果我理解正确,考虑到
$size
被声明并设置为8:

<table>
<?php foreach (range($size, 1) as $n) 
    echo "  <tr><td>$n</td>" . str_repeat('<td></td>', $size) . "</tr>\n"; ?>
  <tr><td><?php
    foreach (range('a', chr(96+$size)) as $l) echo "<td>$l</td>"; ?></tr>
</table>
实例
表{边框折叠:折叠;}
运输署{
宽度:25px;
高度:25px;
边框:1px纯黑;
文本对齐:居中;
}
tr:n个孩子(奇数)td:n个孩子(奇数),
tr:n个孩子(偶数)td:n个孩子(偶数){
背景:灰色;
}
tr td:第一个孩子,tr:最后一个孩子td{
背景:透明!重要;
边界:无;
}

8.
7.
6.
5.
4.
3.
2.
1.
abcdefgh

请分享您想要的result@Augwa更新。您的HTML所需结果将更有用@西迪尔我想要的HTML网站将包含“棋盘”。请分享你想要的result@Augwa更新。您的HTML所需结果将更有用@sidyll我想要一个包含“棋盘”的HTML站点。谢谢你的解决方案,但上面给出的那个更容易。这根本不可伸缩,与静态HTML没有太大区别。谢谢你的解决方案,但上面给出的那个更容易。这根本不可伸缩,它与静态html没有太大区别。@HC1122我更新了它,使其与您想要的输出完全匹配。+1,我喜欢您答案的数学性和可靠性。然而,CSS3选择器确实可以帮助简化这一过程。顺便说一句,我刚刚更新了我的答案。我真的很喜欢这个构建这个董事会的小挑战:D@HC1122我更新了它,使之完全符合您的期望输出。+1,我喜欢您答案的数学性和可靠性。然而,CSS3选择器确实可以帮助简化这一过程。顺便说一句,我刚刚更新了我的答案。我真的很喜欢这个小挑战:D