有人能解释一下吗?请给我编码


Can AnyOne Explain this Code me Please

    $odd= true;
echo ($odd == true) ? '<tr class="odd_row">' : '<tr class="even_row">';
    $odd = !$odd; 

谁能解释一下这段代码?

表达式[a] ? [b] : [c]称为三元运算符。它与下面的函数相同:

function ternary($a, $b, $c) {
  if ($a)
    return $b;
  else
    return $c;
}

除了三元运算符的参数是惰性求值(即实际上只执行[b][c]中的一个)。

$odd = !$oddtruefalse之间切换$odd的值。

该代码可能在循环中使用,该循环打印表行,这些行交替具有odd_roweven_row类,然后可以使用CSS对其进行不同的样式设置。

这意味着

if ($odd == true){
    echo '<tr class="odd_row">';
}else{
    echo '<tr class="even_row">';
}

和称为三元运算符

然后通过$odd = !$odd;,该变量的值被"翻转"。我猜这是为了使下一行是"偶数"

$odd变量设置为布尔值true

$odd= true;

使用所谓的三元操作符来输出字符串。如果$odd为真,则打印第一个位,否则打印第二个位。正如您之前将$odd设置为true一样,它将始终打印第一个位

echo ($odd == true) ? '<tr class="odd_row">' : '<tr class="even_row">';

$odd设置为!(而不是$odd),从而将布尔值反转为false$odd = !

很抱歉用文字解释,但我想要彻底