php 三元运算符的结果为 true 或 false

true or false as result of php ternary operator

我正在使用遗留 PHP 代码,我看到很多程序员这样做的例子:

$foo = ($bar === 'baz') ? true : false;

而不是:

$foo = ($bar === 'baz');

是否存在第一个示例与第二个示例功能不同的条件表达式?做第一个有什么共同的原因(可读性、防御性编码等)吗?

它们在功能上是等价的。可读性可能是第一种方式编写它的原因,可能更容易看出结果将是布尔值,但这是主观的。