这是做什么的

时间:2010-05-12 18:17:14

标签: php

$ top + = $ i? 12:0;

7 个答案:

答案 0 :(得分:12)

如果$i

  • 设置
  • 而不是false
  • 而不是null

$top增加12;否则,为零,隐含地将$top $i)转换为数字变量(如果它不是已存在的那个)。

答案 1 :(得分:11)

如果$i设置了值(非空/ null意味着条件解析为true),则会将{12}添加到$top0

它基本上是简写:

if ($i)
{
  $top += 12;
}
else
{
  $top += 0;
}

<强> This is known as Ternary operator.

答案 2 :(得分:4)

简写:

if ($i) {
  $top += 12;
}

答案 3 :(得分:2)

如果$ i为真(例如,不为零或空字符串),则将12添加到$ top。否则,$ top不会添加任何内容。

这相当于

if($i)
    $top = top + 12;

答案 4 :(得分:1)

如果$top具有真正的布尔值(即12$i等)或$i = 1,则$i = true的值增加0如果没有。

http://www.php.net/manual/en/language.operators.assignment.php

Ternary Operaotr

答案 5 :(得分:0)

答案 6 :(得分:0)

$ i? 12:0是一个“速记”if语句。在这种情况下,$ i被计算为表达式。如果表达式的计算结果为true,则将值12用作加法赋值表达式中的r值。如果$ i的计算结果为false,则使用0作为r值。