从另一种语言转移到 PHP 并且仍然习惯于语法......
编写此语句的正确方法是什么?关于逻辑运算符的手册有一些不足之处..
if($var !== '5283180' or '1234567')
从另一种语言转移到 PHP 并且仍然习惯于语法......
编写此语句的正确方法是什么?关于逻辑运算符的手册有一些不足之处..
if($var !== '5283180' or '1234567')
通常,比较是通过使用==
,反之是!=
。但是,如果您想比较值及其数据类型,那么您可以使用===
,反之则为!==
.
请参阅文档以获取更多信息。
您可以使用以下内容:
if($var!='5283180' || $var!='1234567')
尝试这个
if($var != '5283180' || $var != '1234567')
PHP 的or
功能与普通的相同||
,但具有较低的绑定优先级。因此,这两个语句:
$foo = ($bar != 'baz') or 'qux';
$foo = ($bar != 'baz') || 'qux';
可能看起来是相同的,但执行顺序实际上是完全不同的。对于or
版本,执行如下:
($foo = ($bar != 'baz')) or 'qux';
- inequality test is performed
- result of the test is assigned to $foo
- result of the test is ORed with the string 'qux';
对于||
版本:
$foo = (($bar != 'baz') || 'qux');
- inquality test is performed
- result of test is ||'d with 'qux'
- result of the || is assigned to $foo.
为了建立在其他人的基础上,正如 OP 提到的那样,它们是 PHP 的新手,有几件事需要考虑。
首先,您要查找的 PHPor
是双行 ( ||
),并且每个项目必须是||
.
if ( $var !== '5283180' || $var !== '1234567')
补充:
运算符与运算符or
相同,||
但优先级低得多。例如给定的示例(来自手册):
// The constant false is assigned to $f and then true is ignored
//Acts like: (($f = false) or true)
$f = false or true;
现在如上所述,有一般比较(==
或“相等”)和类型比较(===
或“相同”),两者都有相反的(不)。在给定的示例中,测试将检查$var
与值不同的情况。
来自PHP 手册:
$a !== $b | 不一样 | 如果 $a 不等于 $b,或者它们不是同一类型,则为 TRUE。
话虽如此,请仔细检查这是否是您真正想要完成的。您很可能正在寻找!=
.