PHP 中的逻辑运算符可以与三元运算符一起使用吗

Can logical operator be used with in ternary operators in PHP

这个说法在PHP

中是否正确
$abc = $x === "" || $y !== $z ? "true" : "false";

为什么不呢。我相信它会奏效。只是加上括号。喜欢

$abc = ($x === "" || $y !== $z) ? "true" : "false";

是的。它工作正常。

$x = 1;
$y = 2;

$z = 100;

$abc = $x === "" || $y !== $z ? "true" : "false";

var_dump($abc); // true

$x = 1;
$y = 100;

$z = 100;

$abc = $x === "" || $y !== $z ? "true" : "false";

var_dump($abc); // false

但是,请使用括号!

$abc = ($x === "" || $y !== $z) ? "true" : "false";

我刚刚对其进行了测试,它工作得非常好。您只需要为条件语句添加圆括号 所以你的代码看起来像这样

$abc = ($x === "" || $y !== $z) ? "true" : "false";
echo $abc;