$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 = !$odd
在true
和false
之间切换$odd
的值。
该代码可能在循环中使用,该循环打印表行,这些行交替具有odd_row
和even_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 = !
很抱歉用文字解释,但我想要彻底