【发布时间】:2017-06-04 03:47:48
【问题描述】:
这是一个简单的逻辑问题,但我有一个心理障碍。我有如下的行组:
注意以下几点:
- 第 1 组有 2 条记录
- 第 2 组有 2 条记录
- 第 3 组有 1 条记录
- 第 4 组有 2 条记录
- 第 5 组有 1 条记录
- 第 6 组有 2 条记录
我希望每个组中的每条记录都具有与组中其他记录相同的背景颜色,但与之后的下一个分组具有不同的背景颜色。所以,我想要实现的是:
- 第 1 组中的两条记录都应具有白色背景色。
- 第 2 组中的两条记录都应具有灰色背景色。
- 第 3 组中的唯一记录应具有白色背景色。
- 第 4 组中的两条记录都应具有灰色背景色。
...等等。因此,我希望每组的 bgcolor 交替,而不是每条记录的 bgcolor 交替的典型交替行颜色,而每组内的颜色保持一致。
我目前的逻辑是这样的:
if($gameID != $previousGameID)
$rowColor = "#ffffff";
else
$rowColor = "#F0F0F0";
虽然该代码是 PHP,但这个问题并不是 PHP 独有的,它只是一个逻辑问题,这就是为什么我用 PHP、C# 和 JS(我知道的 3 种语言)标记这个问题的原因。我上面的代码是错误的,因为它导致每条记录的背景颜色发生变化,而不是每组记录。每个组中的记录具有相同的游戏 ID,并且该游戏 ID 将与所有其他组不同。所以gameID是解决这个小谜题的关键部分,但我无法理解解决方案。
注意:您不能假设每个分组都有 1 条或 2 条记录。尽管我的示例没有显示,但在极少数情况下,一个组中会有 3 条记录(在这种情况下,所有 3 条记录都将具有相同的游戏 ID)。
有什么想法吗?
【问题讨论】:
标签: javascript c# php logic