-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 が ID であると仮定すると、 orまたはorまたは$oで終わる場合に検索し、整数またはorのような文字列にすることができます。一致すると、html に異なる色が設定されます。13579div1div3

于 2012-09-02T21:12:28.307 に答える
2

これは正規表現パターンであり、重要な部分は次のとおりです。

  1. は「または」を意味するので、 OR OR ...|に分解できます。1$3$
  2. $は「行末がここなら」という意味です。つまり、「行末が 1 または ... の場合」という意味です。

これは、式が奇数の整数で終わる行を探していることを意味します。

基本的には、奇数行と偶数行に異なるスタイルを適用するアルゴリズムです。自分で HTML を作成できる場合 (つまり、奇数と偶数の css クラス)、それを行うための非常にクリーンな方法がありますが、与えられたものを使用する必要がある場合もあります :-)

于 2012-09-02T21:13:36.297 に答える
2

eregiは、文字列 (この場合は $o) に対して大文字と小文字を区別しない正規表現検索を実行する非推奨の php 関数です。

ドル記号は文字列の末尾をチェックするため、関数は文字列が 1、3、5、7、または 9 で終わっているかどうかをチェックし、それに応じて tablecolor を設定します。

于 2012-09-02T21:13:42.047 に答える