php - 内联 PHP/HTML 三元 If

标签 php html ternary-operator

我正在尝试执行以下操作:

<li <?PHP ($this->pageName == 'index' ? ?>class="current"<?PHP : '')?>><a href="">Home</a></li>

但它不起作用。

我想要实现的目标可行吗?如果是这样,我做错了什么?


我知道将 PHP 放入 HTML 中并不难,哈哈。我很好奇是否可以以类似于以下的方式使用三元运算符:

<?PHP if(1 == 1){?>
<p>Test</p>
<?PHP }?>

最佳答案

您所做的只会返回值“class='current'”。您仍然需要 ECHO/PRINT 才能应用它。

下面的代码应该可以正常工作。

<li class="<?PHP echo ($this->pageName == 'index')? 'current': ''; ?>">
    <a href="#">Home</a>
</li>

我刚刚在这里所做的是将类属性放在 php 之外,以便使事情更整洁,如果值的计算结果为真,则回显三元返回的值,在这种情况下为“当前”。

出于测试目的,您可以尝试使用下面的代码行来切换正在比较的值。

<li class="<?PHP echo ( 1 == 0 )? 'current': ''; ?>">
    <a href="#">Home</a>
</li>

关于php - 内联 PHP/HTML 三元 If,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16405986/

相关文章:

html - div 高度与最小高度相同的背景图像

php - 三元运算符在 godaddy php 中不起作用(parsererror)

asp.net - 如何在三元运算符中使用 ASP.NET Eval() 函数?

php - 在另一个命令中调用 Symfony 控制台命令并抑制输出

php - 如何使用别名和 $_GET 参数配置 yii2 urlManager 规则

html - 居中包含左对齐文本的 div + 另一个 div

html - 单击按钮时显示元素

c++ - 返回抛出三元运算符?

javascript - Jquery/PHP : passing JSON data with Ajax ends up truncated

php - 值从 php 到存储过程