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)
你可以使用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,这项工作做得很好并且可能更快.