-5

我有这段代码,想知道它在做什么,或者是否有更好的方法。

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部分有点困惑

4

3 回答 3

3

首先eregi()已弃用,不应再使用。

$o如果它以1or35or 7or结尾,则搜索9,假设 $o 是一个 ID,可以是整数或一些字符串,如div1or div3,如果它匹配它为您的 html 设置不同的颜色。

于 2012-09-02T21:12:28.307 回答
2

这是一个正则表达式模式,以下是重要的部分:

  1. 意思是“|或”,所以你可以把它分解成1$OR 3$OR ...
  2. 意思是“$如果行尾在这里”。所以这意味着“如果行尾是 1 或......”

这意味着表达式正在寻找任何以奇数结尾的行。

它本质上是一种将不同样式应用于奇数行和偶数行的算法。如果您可以自己编写 HTML(即奇数和偶数的 css 类),则有更简洁的方法可以做到这一点,但有时您必须使用所提供的内容 :-)

于 2012-09-02T21:13:36.297 回答
2

eregi是一个已弃用的 php 函数,它对字符串(在本例中为 $o)运行不区分大小写的正则表达式搜索。

美元符号检查字符串的结尾,因此您的函数所做的是检查字符串是否以 1、3、5、7 或 9 结尾并相应地设置表格颜色。

于 2012-09-02T21:13:42.047 回答