【问题标题】:PHP chessboard 8x8 for loop [closed]PHP棋盘8x8 for循环[关闭]
【发布时间】:2015-05-23 23:46:59
【问题描述】:

我正在尝试用两个 for 循环在 PHP 中做一个 8*8 棋盘,但我被卡住了。有人可以帮我吗?

echo "<table>";
for($i = 0; $i < 8; $i++){
    if($i % 2 == 0){
        echo "<tr style= 'background-color: black;'>";
    }else{
        echo "<tr style='background-color: pink;'>";
    }
    for($y = 0; $y < 8; $y++){
        if($y % 2 ==0){
            echo "<td style= 'background-color: black;'>";
        }else{
            echo "<td style='background-color: pink;'>";
            }
        echo "10";
        echo "</td>";
    }
    echo "</tr>";
}
echo "</table>";

【问题讨论】:

  • 您当前的输出是什么,您期望什么?
  • 现在我发现我无法设置样式 .. 我想做经典的 8x8 棋盘,但没有白色而是粉红色

标签: php html loops for-loop html-table


【解决方案1】:
echo "<table>";
for($i=0; $i < 8; $i++){
    echo "<tr>";
    for($j=0; $j < 8; $j++){
        if($i % 2 == 0){
            if($j % 2 == 0){
                echo '<td style="background-color: pink; width: 10px; height:10px"></td>';
            } else {
               echo '<td style="background-color: black; width: 10px; height:10px"></td>'; 
            }
        } else {
           if($j % 2 == 0){
                echo '<td style="background-color: black; width: 10px; height:10px"></td>';
            } else {
               echo '<td style="background-color: pink; width: 10px; height:10px"></td>'; 
            } 
        }
    }
    echo "</tr>";
}
echo "<table>"

【讨论】:

    【解决方案2】:

    没有明确的问题描述,我只能猜测问题是行不交替。

    要添加它 - 以便第一行以与第二行不同的颜色开头 - 您可以在内循环中使用 $i 的值:

    // let $y go from 0 - 8 and 1 - 9 in alternating rows
    for($y = ($i % 2); $y < (($i % 2) + 8); $y++){
    

    而且您不需要设置行的背景颜色,只需设置单元格,或者 - 更好的是 - 只需设置交替的单元格。

    【讨论】:

    • 但没有白色而是粉红色 似乎我们发现了 OP 的问题是 :D + 你的改变。 (而且他可以把所有东西都写得更小一点:pastebin.com/AwS5gApJ
    • @Rizier123 你一定是在开玩笑,有粉红色的?!?!我想知道这是否与background-color: pink...
    猜你喜欢
    • 2022-10-04
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多