0

从另一种语言转移到 PHP 并且仍然习惯于语法......

编写此语句的正确方法是什么?关于逻辑运算符的手册有一些不足之处..

if($var !== '5283180' or '1234567')
4

4 回答 4

3

通常,比较是通过使用==,反之是!=。但是,如果您想比较值及其数据类型,那么您可以使用===,反之则为!==.

请参阅文档以获取更多信息。

您可以使用以下内容:

if($var!='5283180' ||  $var!='1234567')
于 2013-09-27T18:57:16.423 回答
2

尝试这个

if($var != '5283180' || $var != '1234567')
于 2013-09-27T18:58:07.583 回答
1

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.
于 2013-09-27T19:32:44.840 回答
0

为了建立在其他人的基础上,正如 OP 提到的那样,它们是 PHP 的新手,有几件事需要考虑。

首先,您要查找的 PHPor是双行 ( ||),并且每个项目必须是||.

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。

话虽如此,请仔细检查这是否是您真正想要完成的。您很可能正在寻找!=.

于 2013-09-27T19:11:30.567 回答