PHP学习笔记 (3)-运算符
一、算术运算符
1、运算符优先级: 先算乘除后算加减,遇到括号先算括号内 如果运算符优先级相同,则使用从左到右的左联顺序。 从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序例子 名称 结果
-$a 取反 $a 的负值。 $a + $b 加法 $a 和 $b 的和。 $a - $b 减法 $a 和 $b 的差。 $a * $b 乘法 $a 和 $b 的积。 $a / $b 除法 $a 除以 $b 的商。 $a % $b 取模 $a 除以 $b 的余数。";echo $a+$b; //加法 $a 和 $b 的和。 30echo "";echo $a-$b; //减法 $a 和 $b 的差。 -10echo "";echo $a*$b; //乘法 $a 和 $b 的积。 200echo "";echo $a / $b; //除法 $a 除以 $b 的商。 0.5echo "";echo $a % $b; //取模 $a 除以 $b 的余数。 10echo "";?>
";echo $a -= $b; //等同于$a = $a - $b 30-20=10echo "";echo $a *= $b; //等同于$a = $a * $b 10*20=200echo "";echo $a /= $b; //等同于$a = $a / $b 200/20=10echo "";echo $a %= $b; //等同于$a = $a % $b 10%20=10echo "";//See the String Operators page echo $a .= $b; //等同于$a = $a . $b 10.20=1020echo "";$a=true;$b=false;//See the Bitwise Operators page echo $a &= $b; //等同于$a = $a & $b 0 true&false=falseecho "";echo $a |= $b; //等同于$a = $a | $b 0 false|false=falseecho "";echo $a ^= $b; //等同于$a = $a ^ $b 0 false^false=falseecho "";$a=1;$b=2;echo $a <<= $b; //等同于$a = $a << $b 1<<2=4echo "";echo $a >>= $b; //等同于$a = $a >> $b 4>>2=1echo "";?>
三、比较运算符
比较运算就是两个值进行比较,体现两个数之间的关系。 例子 名称 结果 $a == $b 等于 TRUE, 如果 $a 等于 $b。 $a === $b 全等 TRUE, 如果 $a 等于 $b,并且它们的类型也相同。 $a != $b 不等 TRUE, 如果 $a 不等于 $b。 $a <> $b 不等 TRUE, 如果 $a 不等于 $b。 $a !== $b 非全等 TRUE, 如果 $a 不等于 $b,或者它们的类型不同。 $a < $b 小与 TRUE, 如果 $a 严格小于 $b。 $a > $b 大于 TRUE, 如果 $a 严格 $b。 $a <= $b 小于等于 TRUE, 如果 $a 小于或者等于 $b。 $a >= $b 大于等于 TRUE, 如果 $a 大于或者等于 $b。";echo $a === $b; //$a===$b吗? 10===10 返回1 Trueecho ""; $b="10";echo $a === $b; //$a===$b吗? 10==="10" 返回空 false 比较两数据,不但比较数据值还有比较数据类型;echo ""; $A=10;$B=20;echo $A!=$B; //$a 不等于 $b 10!=20 返回1 True echo ""; echo $A<>$B; //$a 不等于 $b 100<>20 返回1 True echo ""; echo $A!==$B; //$a 不等于 $b,或者它们的类型不同。10!==20 返回1 Trueecho ""; $C="10";echo $A!==$C; //非全等 $a 不等于 $b,或者它们的类型不同。10!=="10" 返回空 falseecho ""; echo $A<$B; // $a 严格小于 $b 10<20 返回1 Trueecho ""; echo $A>$B; // $a 严格小于 $b 10>20 返回空 falseecho ""; echo $A<=$B; // $a 小于或者等于 $b 10<=20 返回1 Trueecho ""; echo $A>=$B; // $a 大于或者等于 $b 10>=20 返回空 falseecho ""; ?>
五、递增/递减运算符
只操作变量的一种运算递增/递减运算符不影响布尔值。递减 NULL 值也没有效果,但是递增 NULL 的结果是 1。
例子 名称 效果 ++$a 前加 $a 的值加一,然后返回 $a。 $a++ 后加 返回 $a,然后将 $a 的值加一。 --$a 前减 $a 的值减一, 然后返回 $a。 $a-- 后减 返回 $a,然后将 $a 的值减一。
位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的 ASCII 值。
在 32 位系统上不要右移超过 32 位。不要在结果可能超过 32 位的情况下左移。
例子 名称 结果
$a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。 $a | $b Or(按位或) 将把 $a 或者 $b 中为 1 的位设为 1。 $a ^ $b Xor(按位异或) 将把 $a 和 $b 中不同的位设为 1。 ~ $a Not(按位非) 将 $a 中为 0 的位设为 1,反之亦然。 $a << $b Shift left(左移) 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 $a >> $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。And(按位与)"; //将把 $a 和 $b 中都为 1 的位设为 1echo $a&$b; //显示值 1echo "Or(按位或)"; //将把 $a 或者 $b 中为 1 的位设为 1echo $a|$b; //显示值 1echo " Xor(按位异或)";//将把 $a 和 $b 中不同的位设为 1echo $a^$b; //显示值 0echo "Not(按位非)"; //将 $a 中为 0 的位设为 1,反之亦然echo ~$a; //显示值 -2echo "Shift left(左移)";//将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)echo $a<<$b; //显示值 2echo "Shift right(右移)";//将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。echo $a>>$b; //显示值 0?>
(学习笔记,理解肤浅。只供学习参考,如果不足敬请谅解)