我的观点之一是这样的
<li <?php $isCurrent ? echo 'class="current"' : ''?> >
<a href="SOME_LINK" class="SOME_CLASS">SOME_TEXT</a>
</li>
这会导致语法错误,意外的 T_ECHO。为 print
更改 echo
解决了这个问题,但我想了解为什么我不能使用 echo
。
最佳答案
你不能那样使用这个结构。 ternary operator不是“if” block ,而是根据条件是否满足返回一个值。
你想改变结构:
<?php echo ($isCurrent ? 'class="current"' : '') ?>
它与 print()
一起使用,因为这是一个具有返回值的函数。然而,这不是您想要的,因为第一个 echo
将打印出 print
的结果,这是没有意义的。
它不适用于 echo
,因为 echo 不是一个函数,而是一种语言结构。
关于php - 内联中的意外标记 T_ECHO if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2516669/