PHP三元运算符期望冒号和分号

时间:2019-01-19 14:58:12

标签: php

元素中的此三元运算符给出错误:

<div class="col-sm<?php $columnCasecheck === true ? echo '-3' : echo '-4' ?>">

PhpStorm期望true ?之后是冒号,而'-3'之后是分号。这是为什么?在我看来,这是一个有效的三元运算符。查看屏幕截图。

enter image description here

4 个答案:

答案 0 :(得分:2)

按如下所示将您的回声从表达式中取出- <?php echo $columnCasecheck === true ? '-3' : '-4'; ?>

答案 1 :(得分:1)

尝试一下:

<?php echo $columnCasecheck === true ? '-3' : '-4'; ?>

在三元组中,应放置valueexpression而不是命令。
因此,echo应该在ternary expression之外。

此外,如果您不需要strict comparison,则只需写:

<?php echo $columnCasecheck ? '-3' : '-4'; ?>

因此您的整个一行将是:

<div class="col-sm<?php echo $columnCasecheck ? '-3' : '-4'; ?>">

答案 2 :(得分:1)

怎么样?

<?php $columnCasecheck = $columnCasecheck === true ? '-3' : '-4'; ?>

<div class="col-sm<?=$columnCasecheck?>>value</div>

答案 3 :(得分:1)

由于要输出结果,因此只需将 echo 放在表达式前面:

echo $columnCasecheck === true ? '-3' : '-4';