带符号的PHP表
我有10x10的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++) {
<?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