本帖最后由 惜 于 2018-12-5 12:11 编辑
PHP 中的运算符分为:四则运算符、逻辑运算符、三目运算符和运算符的优先级等。
- 四则运算符 “+”(加)、“-”(减)、“*”(乘)、“/”(除)、 “%”(取余)
- 逻辑运算符
- and,逻辑与。$a and $b 两个表达式求与,只有当两个表达式都为真时返回 True,否则返回 False。
- or,逻辑或。$a or $b 两个表达式求或,当两个表达式都为假时返回 False,否则返回 True。
- xor,逻辑异或。$a xor $b 两个表达式求异或。当两个表达式状态相反时返回 True,否则返回 False。
- !,逻辑非。!$a 一个表达式求非。当$a 为 False 时返回 True,反之返回 False。
- &&,逻辑与。见 and。 ||,逻辑或。见 or。
- “与”与“或”有两种表现形式(逻辑与:and、&&;逻辑或:or、||)是因为它们的运算 优先级不同。
[PHP] 纯文本查看 复制代码 <?
$a=TRUE; //定义逻辑变量真
$b=FALSE; //定义逻辑变量假
if($a and $b) echo "这里为假 1!"; //求与
echo "<br>";
if($a or $b) echo "这里为真 1!"; //求或
echo "<br>";
if($a xor $b) echo "这里为真 2!"; //求异或
echo "<br>";
if(!$a) echo "这里为假 2!"; //求非
?>
当然 可以在列子中 手动修改各种逻辑运行符 来认识它们的作用。
3.三目运算符 [PHP] 纯文本查看 复制代码 (expr1)?(expr2):(expr3)
[PHP] 纯文本查看 复制代码 <?
$name = "李";
$newName = ($name == "李"?"李阳":"天涯");
echo $newName
?>
这里 很简单 就是说,如果 name等于李 就叫李阳,不是李就叫天涯。
4.运算符的优先级 运算符很多 谁先谁后 都是有定论的。如四则运算符:先乘除后加减。
[PHP] 纯文本查看 复制代码 <?
$a= 8*4+6%5; //语句 1
echo $a."<br>";
$a =true?0:true?1:2; //语句 2
echo $a."<br>";
$a=1;
$b=2;
$a-=$b+=3*$b+$a; //语句 3
echo $a.",".$b."<br>";
?>
看这个结果:33 的值就是先乘 得到 32 ,取余 得到 1 ,最后相加 得到 33.
2 的值就是 先运行第一个三目 true?0:true ,如果是true 得到 值 0 。再运行第二个三目 0?1:2=2 如果是0 得1 不是得 2 。所以 最后的值 是2.
-8,-9的值就是 $a-=$b+=3*$b+$a 分解过的式子等价于这样一组表达式:$b*3 等于 6,6+$a 等于 7,$b+7 等于 9,$b=9,$a-9 等于-8,$a=-8。所以 左后得到-8 -9.
|