if($ a == $ b || $ a == $ c)语句的简写表达式

5er*_*ant 4 php regex expression if-statement operators

我知道这段代码会起作用:

echo ( $a == $b || $a == $c ) ? "Yes" : "No";
Run Code Online (Sandbox Code Playgroud)

这可以像:

如果$ a等于$ b或$ a等于$ c

有没有办法让它更短,如:

如果$ a等于$ b或$ c

我尝试过很多,包括这个,但仍然没有运气:

echo ( $a == ( $b xor $c ) ) ? "Yes" : "No";
Run Code Online (Sandbox Code Playgroud)

Cas*_*yte 7

你可以使用in_array:

var_dump(in_array($a, [$b, $c]));
Run Code Online (Sandbox Code Playgroud)

用你的例子:

echo in_array($a, [$b, $c]) ? 'Yes' : 'No';
Run Code Online (Sandbox Code Playgroud)

注意:此语法仅在您具有多于2个值时才有用.对于很少的值$a == $b || $a == $c,这项工作做得很好并且可能更快.