PHP for循环' map'背景颜色

时间:2016-09-27 23:42:04

标签: php html dictionary html-table

我有一个简单的代码可以生成一张地图'或网格。我试图定义某些区域,在此示例中,如果$i$j的值为1,那么这将定义我的地图'所以我试图将该单元格的类设置为“边缘”。这只是灰色的背景颜色。

echo "<tr>";

    for ($j=1; $j <= 50; $j++)

        {
        // edge of map - this is where i have a  problem
        if($i == '1' or $j == '1'){$st = 'class="edge"';}   

         echo "<td $st id = \"$i-$j\">";
         echo "$i-$j";
         echo "</td>";



        }

    echo "</tr>";

问题是它将所有细胞变为灰色而不仅仅是值为1的细胞。我可能会做一些愚蠢的事情。

1 个答案:

答案 0 :(得分:1)

首先,始终初始化$st = '';。然后,如果你想遮蔽所有边缘,当然你可以硬编码1,因为它总是从那里开始,这将永远是边缘。检查ij。然后在另一个角落,检查最大尺寸。在此示例中,它只是10

echo '<table>';
$size = 10;
for($i = 1; $i <= $size; $i++) {
    echo "<tr>";
    for ($j=1; $j <= $size; $j++) {
        // edge of map - this is where i have a  problem
        $st = '';
        if($i === 1 || $j === 1 || $i === $size || $j === $size){
            $st = 'class="edge"';
        }  

        echo "<td $st id = \"$i-$j\">";
        echo "$i-$j";
        echo "</td>";

    }
    echo "</tr>";
}
echo '</table>';