本次我们将讨论 PHP 中逻辑运算符的应用。逻辑运算符 (1) &&(and) 逻辑与 (2) ||(or) 逻辑或 (3) !(not) 逻辑非,一元运算符。 (4) xor 逻辑异非。
逻辑运算符的概念:
对表达式进行逻辑运算,运算出的结果是布尔类型的值(true,false)。要求参与逻辑运算的表达式的值是布尔类型的值,如果不是会被php自动转换成布尔类型的值。
逻辑与 and或&&
左右两边表达式的值都为true时,运算结果为true,反之相反。只要其中一个为false,运算结果为false;
除了以下值会被认为是false, 其他值都会认为是true:布尔值false
0
浮点型0.0
空白字符串和字符串0
没有成员的数组
null
我们来看一个例子:<?php
$x=true;
$y=true;
var_dump($x && $y);
?>
很显然这个结果为bool(true),从这个例子我们可以看到两表达式都是true的情况下,结果为true。
逻辑或 or或||
左右两边的表达式的值有一个是true,运算的结果就是true,只有两边的值都是false时,结果才是false。我们将上一个例子中$y的值改成false,我们能够发现结果变成了false。
逻辑异或 xor
左右两边表达式的值不一样的时候,就是true,反之两边值一样为false。我们来看刚刚那个例子,$x与$y的值是一样的,所以他的结果是false。
逻辑非 !
将原来表达式的值否定,原来是false现在为true,反之则反。<?php
$x=true;
var_dump(!$x);
?>
我们可以看看这个例子,根据上面的结论很容易发现这个例子的答案是bool(false)。
这几个例子很直观的给我们说明了逻辑运算符与,或,异或和非他们的运算规则,不需要进行过多描述。
下面是关于逻辑运算符优先级的说明。
在php中,我们可以使用圆括号可以将表达式里面的某一部分当做一个整体,虽然有的地方不需要加括号,也可以加上,增加语句的可读性,可以很直观了解运算符运行的先后顺序,便于后续操作。
推荐学习:《PHP视频教程》