从另一种语言转移到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的新手,有几件事需要考虑。
首先,您要查找的 PHP or
是双行 ( ||
(,每个项目必须是||
两侧的语句。
if ( $var !== '5283180' || $var !== '1234567')
另外:
如 PHP 手册中所述
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。
话虽如此,请仔细检查这是否是您实际要完成的。很可能您正在寻找!=
.