[英]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.