PHP 在三元运算符内将变量连接到字符串

PHP concatenate variable to string inside of ternary operator

我在让这个三元语句无错误地工作时遇到了一些麻烦。

$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 连接到真实条件的 class 名称。 我敢肯定我只是错过了什么地方,但我不知道是什么。

请修改如下。

<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>

希望对你有帮助。