我正在尝试在PHP中使用两个for循环来做一个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>";
答案 0 :(得分:1)
如果没有明确的问题描述,我只能猜测问题是行不是交替的。
要添加 - 以便第一行以不同的颜色作为第二行开始 - 您可以在内部循环中使用$i
的值:
// let $y go from 0 - 8 and 1 - 9 in alternating rows
for($y = ($i % 2); $y < (($i % 2) + 8); $y++){
你不需要设置行的背景颜色,只需要设置细胞,或者 - 甚至更好 - 只需设置交替的细胞。
答案 1 :(得分: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>"