@[PHP运算符整理]
PHP运算符的优先级
递增/递减 > ! > 算术运算符 > 大小比较 > (不)相等比较 > 引用 >
位运算符(^) > 位运算符(|) > 逻辑与 > 逻辑或 > 三目 > 赋值 > and > xor > or
*括号的使用可以增加代码可读性,推荐使用!
1)PHP运算符的类型
名称 | 符号 | 作用 |
---|---|---|
比较运算符 | 和= | : 比较值;=:比较值 且能 比较类型 |
等值判断(FALSE的七种情况) | / | 0, 0.0, ’ ', ‘0’, false, array(), null |
*递增递减不影响布尔值
*递减NULL值没有效果,但是递增NULL值为1
<?php
/**
* 下列程序中请写出打印输出的结果
* <?php
*
* $a = 0;
* $b = 0;
*
* if ($a = 3 > 0 || $b = 3 > 0)
* {
* $a++;
* $b++;
* echo $a. "\n";
* echo $b. "\n";
* }
*/
$a = 0;
$b = 0;
if ($a = 3 > 0 || $b = 3 > 0)
{
/**
* > 的优先级大于 || 大于 =
* 因此可以认为是
* $a = ((3 > 0) || $b = 3 > 0)
* => $a = (true || $b = 3 > 0)
* 由于逻辑或短路作用,b 不再执行
* 因此:$a = true, b = 0
* 由于布尔值递增和递减都不影响还是true,而打印echo时,true底层转为1
* 因此最终echo a 和 b,都是1
*/
$a++;
$b++;
echo $a. "\n";
echo $b. "\n";
}