我有这段代码,想知道它在做什么,或者是否有更好的方法。
if (eregi("1$|3$|5$|7$|9$", $o))
{
$tablecolor='bgcolor="#cccccc"';
$bgcolor='bgcolor="#bcbcbc"';
}
else
{
$tablecolor='bgcolor="#bcbcbc"';
$bgcolor='bgcolor="#cccccc"';
}
我对"1$|3$|5$|7$|9$", $o
部分
答案 0 :(得分:3)
首先,eregi()
已弃用,不应再使用了。
在$o
中搜索是否以1
或3
或5
或7
或9
结尾,假设$ o是ID,可以是整数或某些字符串,如div1
或div3
,如果匹配,则为您的html设置不同的颜色。
答案 1 :(得分:2)
这是一个正则表达式模式,这里有重要的部分:
|
表示"或",因此您可以将其细分为1$
或3$
或... $
表示"如果该行的结尾在这里"。这意味着"如果该行的结尾是1或......" 这意味着表达式正在查找以奇数整数结尾的任何行。
它本质上是一种将不同样式应用于奇数行和偶数行的算法。如果你可以自己编写HTML(即奇数和偶数的css类),那么有更清晰的方法可以做到这一点,但有时候你必须使用你得到的东西: - )
答案 2 :(得分:2)
eregi是一个弃用的php函数,它对字符串运行不区分大小写的正则表达式搜索(在本例中为$ o)。
美元符号检查字符串的结尾,所以你的函数做的是检查字符串是否以1,3,5,7或9结尾并相应地设置tablecolor。