【问题标题】:PHP concatenate variable to string inside of ternary operatorPHP将变量连接到三元运算符内的字符串
【发布时间】:2020-06-10 12:58:12
【问题描述】:

我在让这个三元语句正常工作时遇到了一些麻烦。

$longtitle = 'long-title-' . browser();
<h5 class="{{ (strlen($title_part_i) > 29 ) ? "'text-uppercase case-study-title-01 mb-0' . $longtitle" : 'text-uppercase case-study-title-01 mb-0'}}"><?=$title_part_i?></h5>

我正在尝试将变量$longtitle 连接到真实条件的类名。 我确定我只是在某个地方遗漏了一些东西,但我不知道是什么。

【问题讨论】:

  • 你的报价全乱了。 "'text-uppercase case-study-title-01 mb-0' . $longtitle" 去掉双引号即可。
  • 最好将解决方案作为答案发布,而不是将其编辑到您的问题中。
  • 感谢您的澄清 - 我实际上更喜欢其他答案

标签: php conditional-operator


【解决方案1】:

请进行如下修改。

<h5 class="{{ (strlen($title_part_i) > 29 ) ? 'text-uppercase case-study-title-01 mb-0'.$longtitle : 'text-uppercase case-study-title-01 mb-0' }}">
    <?= $title_part_i; ?>
</h5>

您的串联完全混乱。尽量不要使用速记,因为它会造成更多的混乱。

你也可以尝试用简单的 if 条件做同样的事情。

<h5 class="<?php if(strlen($title_part_i) > 29 ){ 
       echo 'text-uppercase case-study-title-01 mb-0 '.$longtitle;
    }
    else{
       echo 'text-uppercase case-study-title-01 mb-0'; 
    }
    ?>">
    <?= $title_part_i; ?>
</h5>

希望对你有帮助。

【讨论】:

  • 完美。唯一的问题是在'text-uppercase case-study-title-01 mb-0 '.$longtitle; 之后缺少一个空格
猜你喜欢
  • 1970-01-01
  • 2019-11-18
  • 2010-11-21
  • 2019-01-09
  • 2012-12-19
  • 1970-01-01
  • 2016-09-09
相关资源
最近更新 更多