是否可以运行两个三元条件,将第二个条件的结果连接到第一个条件?
我的条件如下:
$tr_class = (!$pinned ?: "warning");
$tr_class .= ($read ?: " unread");
echo "<tr class='" . $tr_class . "'>";
如果某件事是$pinned
但!$read
,我应该得到:
<tr class='warning unread'>
但我只得到' unread'
?似乎第二个三元条件句覆盖了前一个,而不是连接?
是简短的回答。如果你不能在PHP中连接变量的输出/调用返回值,它就不会成为一门语言。
你的代码工作。我怀疑问题是$pinned
和$read
的值在它到达你的条件语句之前。
如果你忽略了将'is true'放在三进制的一边,它将获取通常为真或假的测试值,只有当你希望'is true'的值与条件语句相同时,你才应该忽略这一点。