我有一个简单的代码可以生成一张地图'或网格。我试图定义某些区域,在此示例中,如果$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的细胞。我可能会做一些愚蠢的事情。
答案 0 :(得分:1)
首先,始终初始化$st = '';
。然后,如果你想遮蔽所有边缘,当然你可以硬编码1
,因为它总是从那里开始,这将永远是边缘。检查i
和j
。然后在另一个角落,检查最大尺寸。在此示例中,它只是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>';