检查其中一个变体时,三等运算符失败,但它们是同一类型 [duplicate]

Triple equal operator fails when checking for one of variants but they are the same type [duplicate]

提问人:JDoe 提问时间:1/5/2017 最后编辑:LF00JDoe 更新时间:1/5/2017 访问量:29

问:

$type = 'bravo';

if ($type === ('alpha' || 'bravo')) {
    echo $type;
}

这永远不会返回任何内容。为什么会这样?

php if语句 相等

评论

4赞 mario 1/5/2017
子表达式的计算结果为 。('alpha' || 'bravo')True

答:

2赞 Mayank Pandeyz 1/5/2017 #1

试试这个:

if ($type === 'alpha' || $type === 'bravo') {
    echo $type;
}

您必须单独检查值。

评论

0赞 JDoe 1/5/2017
哦,好的,谢谢。我很傻。
1赞 LF00 1/5/2017 #2

“阿尔法” ||'bravo' 是布尔值 true,而不是字符串 'bravo'