为什么我的三元表达式不起作用?

我试图设置一个标志来显示或隐藏一个网页组件,但是当表达式不正确时它也会不断出现。

$canMerge = ($condition1 && $condition2) ? 'true' : 'false';
...
<?php if ($canMerge) { ?>Stuff<?php } ?>

这是怎么回事?

0
2019-05-03 17:51:40
资源 分享
答案: 2

“不正确”的值适用。 您需要删除引号:

$canMerge = ($condition1 && $condition2) ? true : false;
0
2019-05-07 18:19:15
资源

这是因为作为字符串的'不正确'肯定会作为布尔值回复到真实的事实。

尽管如此,这是一个不必要的三元表达式,因为结果值是直截了当的,也是不正确的。 这当然是平等的:

$canMerge = ($condition1 && $condition2);
0
2019-05-07 18:07:37
资源