【发布时间】:2021-11-23 03:25:51
【问题描述】:
if(!$customLength){
?>
<th class="sku-label-value download-url-construct <?=$columnClassParent ?>">
<span
data-option-id="<?=$values['option_id']?>"
id="ns_code_<?= ((stripos($title, 'i.p. rating') !== false) ? 'iprating' : $title) ?>"
data-code-sku="<?=$dataCodeSku ?>">
<?=$values['sku'] ?></span>
</th>
<?php
}
我想在 ID 上设置另一个三元条件可以吗?
所以对于这一行
id="ns_code_<?= ((stripos($title, 'i.p. rating') !== false) ? 'iprating' : $title) ?>"
我希望能够解释另一个词并且仍然考虑 IP 评级。我希望这是有道理的。
【问题讨论】:
-
您可以在三元组周围添加一个三元组。但是,如果这不是一个明确的真/假测试,我建议将三元组全部抛弃。三元组现在看起来可能是一个不错的选择,但对于许多查看您的代码的人来说,包括您自己在内,它们以降低代码的可读性而臭名昭著。因此,虽然它现在可能会节省一两行,但最好避免使用三元组并使用其他控制结构
-
“我希望能够解释另一个词,同时仍然考虑 IP 等级。” - 那到底是什么意思?你想输出一个不同的词然后,你想输出两个...?
-
@CBroe 我希望它做第一个单词“ip rating”,并为另一个单词示例“美元金额”做另一个。所以我希望它同时做这两件事。
-
尝试在这样的地方坚持这么多逻辑没有太大意义,恕我直言。我会事先创建一个变量。
$displayTitle = stripos($title, 'i.p. rating') !== false) ? 'iprating ' : ''; $displayTitle .= stripos($title, 'dollar amount') !== false) ? 'dollar amount' : ''; $displayTitle = $displayTitle ? $displayTitle : $title;- 把它放在 if 条件之后,然后输出那个变量的内容。 -
通过在
'iprating '后面留一个空格,下一步可以追加dollar amount,两个词不会粘在一起。 (如果 justiprating得到输出,那应该没关系 - HTML 会忽略前导/尾随空格。如果由于某种原因确实很重要,您仍然可以在输出之前使用trim该值。)