PHP 运算符
2017-07-10 13:43
344 查看
运算符
运算符优先级算术运算符
赋值运算符
位运算符
比较运算符
错误控制运算符
执行运算符
递增/递减运算符
逻辑运算符
字符串运算符
数组运算符
类型运算符
运算符优先级(高到低)
结合方向 | 运算符 | 附加信息 |
---|---|---|
无 | clone new | |
左 | [ | array() |
右 | ** | 算术运算符 |
右 | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | 类型和递增/递减 |
无 | instanceof | 类型 |
右 | ! | 逻辑运算符 |
左 | * / % | 算术运算符 |
左 | + - . | 算术运算符和字符串运算符 |
左 | << >> | 位运算符 |
无 | < <= > >= | 比较运算符 |
无 | == != === !== <> <=> | 比较运算符 |
左 | & | 位运算符和引用 |
左 | ^ | 位运算符 |
左 | | | 位运算符 |
左 | && | 逻辑运算符 |
左 | || | 逻辑运算符 |
左 | ?? | 比较运算符 |
左 | ? : | ternary |
right | = += -= = *= /= .= %= &= | = ^= <<= >>= |
左 | and | 逻辑运算符 |
左 | xor | 逻辑运算符 |
左 | or | 逻辑运算符 |
算术运算符
例子 | 名称 | 结果 |
---|---|---|
-$a | 取反 | $a 的负值。 |
$a + $b | 加法 | $a 和 $b 的和。 |
$a - $b | 减法 | $a 和 $b 的差。 |
$a * $b | 乘法 | $a 和 $b 的积。 |
$a / $b | 除法 | $a 除以 $b 的商。 |
$a % $b | 取模 | $a 除以 $b 的余数。 |
$a ** $b | 乘方 | $a 与 $b 的乘方。 |
位运算符
例子 | 名称 | 结果 |
---|---|---|
$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小于、等于、大于than $b时 分别返回一个小于、等于、大于0的integer 值。 PHP7开始提供. |
$a ?? $b ?? $c | NULL 合并操作符 | 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供。 |
三元运算符
$a = "one"; $b = "two"; $result = $a == $b ? "true" : "false"; echo $result;
字符串运算符
有两个字符串(string)运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。
第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数之后。
<?php $a = "Hello "; $b = $a . "World!"; // now $b contains "Hello World!" $a = "Hello "; $a .= "World!"; // now $a contains "Hello World!" ?>
错误控制运算符
PHP 支持一个错误控制运算符:@。$my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'");
执行运算符
PHP 支持一个执行运算符:反引号(``)。使用反引号运算符“`”的效果与函数 shell_exec() 相同。
反引号运算符在激活了安全模式或者关闭了 shell_exec() 时是无效的。
<?php $output = `ls -al`; echo "<pre>$output</pre>"; ?>
递增/递减运算符
例子 | 名称 | 效果 |
---|---|---|
++$a | 前加 | $a 的值加一,然后返回 $a。 |
$a++ | 后加 | 返回 $a,然后将 $a 的值加一。 |
--$a | 前减 | $a 的值减一, 然后返回 $a。 |
$a-- | 后减 | 返回 $a,然后将 $a 的值减一。 |
逻辑运算符
例子 | 名称 | 结果 |
---|---|---|
$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 + $b | 联合 | $a 和 $b 的联合。 |
$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。 |
类型运算符
instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例:<?php class MyClass { } class NotMyClass { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof NotMyClass); ?>
衿华客
php 教程
PHP简介PHP安装
PHP语法
PHP数据类型
PHP变量
PHP运算符
PHP流程控制
PHP函数
PHP类与对象
PHP字符串
PHP正则表达示
PHP文件
PHP图形图像
PHPXML
PHP会话缓存
PHP异常处理
PHP数据库
PHP日期时间戳
PHP代码风格规范
server 环境
ubuntu入门docker入门
git入门
iterm入门
frame 框架
laravel入门dingo入门
JWT入门
Laravel框架关键技术解析
laravel则修笔记
rpc入门
rabbitmq入门
opencc多国语言
laravel兄弟连笔记
laravel进阶
case 实例
php面试题笔记python图标提取
字幕乱码问题
支付宝接口调用
laravel开发笔记
db 数据库
elasticsearch入门数据库操作
数据库设计
redis入门
help
帮助文档流程图帮助文档
相关文章推荐
- PHP - Manual手册 - 语言参考 - 运算符 - 位运算符
- php学习笔记:可变变量、字符串运算符和数组运算符
- 【PHP系列教程】(7)——PHP中的运算符
- PHP二目运算符
- php下使用strpos需要注意 === 运算符
- PHP 点运算符(.)与数据类型转换的深入探讨
- php的运算符
- PHP中条件运算符
- PHP中算数运算符
- PHP学习之八:执行运算符与字符加一
- PHP学习 运算符与运算符优先级
- PHP合并数组array_merge函数运算符加号与的区别
- PHP(5)运算符
- PHP学习 运算符与运算符优先级
- 用PHP中的 == 运算符进行字符串比较
- PHP之抑或运算符---"^"
- PHP - Manual手册 - 语言参考 - 运算符 - 位运算符
- PHP任务学习5:做好PHP的加减法——运算符的运用(一)
- PHP 点运算符(.)与数据类型转换的深入探讨
- PHP 作用域解析运算符(::)