我在PHP中遇到了这个标志“?0:”。这是什么意思?

时间:2014-12-12 22:01:24

标签: php

在此功能中发现了这种情况:

$kValues = getValueCluster($clusters, $data);
        foreach($cPos as $k => $position)
        {
                $cPos[$k] = empty($kValues[$k]) ? 0 : avg($kValues[$k]);
        }
        return $cPos

我一直试图找出这是什么。我在谷歌搜索它,它没有任何内容。

2 个答案:

答案 0 :(得分:0)

这是PHP的ternary operator

基本示例:

$x = true;
$y = $x ? 'true!' : 'false';

答案 1 :(得分:0)

... ? ... : ...ternary operator。它存在于lot of languages中。就像这样使用:

variable = test ? assignIfTrue : assignIfFalse;

在您的情况下,如果$cPos[$k]为空,0将被分配到$kValues[$k],如果没有,则avg($kValues[$k])将分配给{{1}}。