php运算符
运算符就是通过一个或者多个符号产生另外一个结果的符号。常见的有加减乘除等
运算符优先级
运算符是有优先级的,优先级的先结合。
结合方向 运算符 附加信息
无 clone new clone 和 new
左 [ array()
右 ** 算术运算符
右 ++ -- ~ (int) (float) (string) (array) (object) (bool) @ 类型和递增/递减
无 instanceof 类型
右 ! 逻辑运算符
左 * / % 算术运算符
左 + - . 算术运算符和字符串运算符
左 << >> 位运算符
无 < <= > >= 比较运算符
无 == != === !== <> <=> 比较运算符
左 & 位运算符和引用
左 ^ 位运算符
左 | 位运算符
左 && 逻辑运算符
左 || 逻辑运算符
左 ?? 比较运算符
左 ? : ternary
right = += -= = *= /= .= %= &= |= ^= <<= >>= 赋值运算符
左 and 逻辑运算符
左 xor 逻辑运算符
左 or 逻辑运算符
3+2*4// 11
5/3 // 1.33333
5%2 //2
除法运算符总是返回浮点数.
取模运算符的操作数在运算之前都会转换成整数(除去小数部分)
递增、递减
++$a 前加 $a 的值加一,然后返回 $a。
$a++ 后加 返回 $a,然后将 $a 的值加一。
--$a 前减 $a 的值减一, 然后返回 $a。
$a-- 后减 返回 $a,然后将 $a 的值减一。
$a = 1;
echo $a++;//1
$b = 1;
echo ++$b;
$c = 'A';
echo ++$c;//B
$bool = false;
$bool++;
var_dump($bool); //false;
处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的
字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 A-Z)
递增或递减布尔值没有效果。
位运算
$a &\ $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。
$a |$b Or(按位或) 将把 $a 和 $b 中任何一个为 1 的位设为 1。
$a ^ $b Xor(按位异或) 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。
**~ $a** Not(按位取反) 将 $a 中为 0 的位设为 1,反之亦然。
$a << $b Shift left(左移) 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
$a >> $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。
比较运算符
$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。
$a <=> $b 太空船运算符(组合比较符) 当$a小于、等于、大于$b时 分别返回一个小于、等于、大于0的integer 值。 PHP7开始提供.
$a ?? $b ?? $c NULL 合并操作符 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供。
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被[转换为数值]并且比较按照数值来进行.
由于浮点数 float的内部表达方式,不应比较两个浮点数float是否相等。
$a = 'abc';
$a == 1;//false
$a = 0;
$b = 'abc';
$a == $b;//true;
执行运算符
PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回
ls /home/
逻辑运算符
$a and $b And(逻辑与) TRUE,如果 $a 和 $b 都为 TRUE。
$a or $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。
$a xor $b Xor(逻辑异或) TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。
! $a Not(逻辑非) TRUE,如果 $a 不为 TRUE。
$a && $b And(逻辑与) TRUE,如果 $a 和 $b 都为 TRUE。
$a || $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。
$a = (true || false);
字符串连接符
字符串连接符号 点(.)
$a = 1;
$b = 222
echo $a . $b; //1222
类型运算符
instanceof 用于确定一个 PHP 变量是否属于某一类
$c = new C();
$c instanceof C;
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 周易算命 查询128 IP查询 电脑硬件工具