我需要制作一个需要更改为3种不同颜色的表,每块10行
赞
Id 1 -> 10 Red
Id 11 -> 20 Green
Id 21 -> 30 Blue
Id 31 -> 40 Red
依此类推
这是我尝试使用2种不同颜色的代码
<?php
for ($i = 0; $i <= 40; $i++) {
if($i % 10 == 0)
{echo "<td class=\"dark\">$i</td>";}
else
{echo "<td class=\"light\">$i</td>";}
}
?>
但是类每10个变为“暗”,例如10、20、30、40,其他值保持“亮”
答案 0 :(得分:0)
未经测试,但类似于以下内容:
$useColor = '';
for ($i = 0; $i <= 40; $i++) {
if($i % 10 == 0)
if ($useColor == 'color1') {
$useColor = 'color2';
} elseif ($useColor == 'color2') {
$useColor = 'color3';
} elseif ($useColor == 'color3') {
$useColor = 'color4';
} else {
$useColor = 'color1';
}
}
echo "<td class=\"$useColor\">$i</td>";}
}
答案 1 :(得分:-1)
首先像这样移动您的ID:
Id 0 -> 9 Red
Id 10 -> 19 Green
Id 20 -> 29 Blue
Id 30 -> 39 Red
以此类推。
每种颜色ID都有一个顺序
对于红色,我们有
Id 0 -> 9
Id 30 -> 39
Id 60 -> 69
Id 90 -> 99
Id 120 -> 129
以此类推。
现在再次注意另一个序列
0
30
60
120
所有数字除以30都会得到0的余数
类似地针对绿色ID
Id 10 -> 19
Id 40 -> 49
Id 70 -> 79
Id 100 -> 109
Id 130 -> 139
再次注意另一个序列10, 40, 70, 100, 130
。当除以30时,所有这些数字的余数为10
最后为蓝色ID,我们有:
Id 20 -> 29
Id 50 -> 59
Id 80 -> 89
Id 110 -> 119
Id 140 -> 149
20, 50, 80, 110, 140
除以30所得的余数为20。
现在是该代码的时候了
$j = 0; //$j return the last digit of the integer
$k = 0; //difference btw $i and $j
for ($i = 0; $i <= 1000; $i++) {
$j = (string)$i;// type casting int to string
$j = (int) $j[strlen($j)-1]; //get last digit from $i
$k = $i - $j; //get rid of the last digit in $i
if ($k % 30 == 0) echo '<br>red';
if ($k % 30 == 10) echo '<br>green';
if ($k % 30 == 20) echo '<br>blue';
}
这对我有用,因为我测试了代码。我希望它能使您满意。
您还可以使用以下条件:
if ($k % 30 == 0) {echo '<br>red';}
elseif ($k % 20 == 0) {echo '<br>green';}
elseif ($k % 10 == 0) {echo '<br>blue';}
这也很好。在此问题中,最重要的是从$j
中查找并减去$i
。