可能重复:
quick php syntax question
Reference - What does this symbol mean in PHP?
$ row_color =($ row_count%2)? $ color1:$ color2;
答案 0 :(得分:5)
这称为Ternary运算符。基本上是检查row_count
是否为奇数,然后将row_color
分配给color1
或color2
答案 1 :(得分:3)
它是扩展的IF语法
等于
if ($row_count % 2)
$row_color = $color1;
else
$row_color = $color2;
答案 2 :(得分:2)
答案 3 :(得分:1)
这是一个三元运营商。根据{{3}}:
表达式(expr1)? (expr2): (expr3)如果expr1则求值为expr2 计算结果为TRUE,expr3表示expr1 评估为FALSE。
换句话说:
$variable = (IF THIS EVALUTES TO TRUE) ? (ASSIGN THIS) : (IF NOT, ASSIGN THIS);
答案 4 :(得分:1)
它是以下代码的简写表示:
if($row_count % 2) {
$row_color = $color1;
}
else {
$row_color = $color2;
}
以下是您的原始代码,其中包含评论:
$row_color = ($row_count % 2) ? // Performs logical expression.
$color1 // If logic is true set original variable to this
: $color2; // Else set original variable to this.
PHP关于三元操作的文档:http://php.net/manual/en/language.operators.php
答案 5 :(得分:0)
这是一个有条件的IF语句。如果rowcount是偶数,则显示一种颜色,如果它是奇数,则显示另一种颜色。
他们正在设置交替的行颜色。
问号和冒号是使它成为IF的原因。
条件出现在问号之前(rowcount是偶数)。
问号后面的第一个项目是“then”,即如果条件为真,该怎么做。
冒号后面的项目是“else”,即如果条件不正确该怎么办。
很多人喜欢这种语法,因为它简洁。但是,正如您所发现的那样,当您第一次遇到它时,这是一个真正的难题,对Google而言将非常困难。
答案 6 :(得分:0)
它被称为三元运算符。可在此处找到说明:http://php.net/manual/en/language.operators.php