繁体   English   中英

使用带有三元条件的串联运算符?

[英]Using a concatenation operator with a ternary conditional?

是否可以运行两个三元条件,将第二个结果与第一个条件连接起来?

我的条件如下:

$tr_class  = (!$pinned ?: "warning");
$tr_class .= ($read ?: " unread");

echo "<tr class='" . $tr_class . "'>";

如果某些东西$pinned !$read ,而!$read应该得到:

<tr class='warning unread'>

但是我只会得到' unread' 似乎第二个三元条件是覆盖前一个,而不是串联在一起?

是否在没有编写完整的if / else语句的情况下解决了这个问题?

是的,简短的答案。 如果您无法连接PHP中变量/调用返回值的输出,那么它就不是一种语言。

您的代码有效。 我怀疑问题$read在获取条件语句之前,有$pinned$read的值。

如果您忽略了三元组的“真”值,它将采用通常为真或假的测试值,仅当您希望“真”值相同时才应忽略此值。作为条件语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM