PHP在while循环中循环3种背景颜色

发布于 2024-11-27 20:49:26 字数 165 浏览 4 评论 0原文

我正在显示来自数据库表的数据,并且可以很轻松地循环使用 2 种背景颜色,但是如何扩展它以合并 3 种或可能 4 种背景颜色?

目前我有两个 css 类的代码:

php echo $i++ % 2 ? 'class="偶数"' : 'class="奇数"';

非常感谢

I'm showing data from a db table and I can loop through 2 background colours pretty easily, but how can I expand that to incorporate 3 or possibly 4 background colours??

Currently I have this code for the two css classes:

php echo $i++ % 2 ? 'class="even"' : 'class="odd"';

Many thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

云醉月微眠 2024-12-04 20:49:26

使用类数组并使用模(余数)的结果作为索引。

$classes = array("odd", "even", "odder", "more_even");
for ($i=0; $i < 10; $i++)
{
    echo $classes[$i%4];
}

然后您可以将 4 替换为数组的大小,使其完全基于数组动态。

echo "<br>".$classes[$i%count($classes)];

Use an array of classes and use the result of the modulo (remainder) as your index.

$classes = array("odd", "even", "odder", "more_even");
for ($i=0; $i < 10; $i++)
{
    echo $classes[$i%4];
}

You can then replace the 4 with the size of the array to make it completely dynamic based on the array.

echo "<br>".$classes[$i%count($classes)];
仅此而已 2024-12-04 20:49:26

我能想到的最简单的方法是合并一个 switch 语句:

switch($i % 3)
{
    case 0: echo 'class="even"'; break;
    case 1: echo 'class="odd"'; break;
    case 2: echo 'class="..."'; break;
}

好的,我的只是冗长哈哈

The easiest way I can think is to incorperate a switch statement:

switch($i % 3)
{
    case 0: echo 'class="even"'; break;
    case 1: echo 'class="odd"'; break;
    case 2: echo 'class="..."'; break;
}

Ok, mine is just verbose haha

少女七分熟 2024-12-04 20:49:26

这与@Gazler 的方法相同。然而,我使用的是 while 循环,因为你谈论的是 db 表(可能是 MySQL?)。

$result = mysql_query($query);
$i = -1;
while ($row = mysql_fetch_array($result)) {
    echo (($i++) % 2) ? 'odd' : 'even';
}

This is the same as @Gazler's approach. However, I'm using a while-loop, since you're talking about a db-table (probably MySQL?).

$result = mysql_query($query);
$i = -1;
while ($row = mysql_fetch_array($result)) {
    echo (($i++) % 2) ? 'odd' : 'even';
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文