您的位置:首页 > 编程语言 > PHP开发

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 & $bAnd(按位与)将把 $a 和 $b 中都为 1 的位设为 1。
$a | $bOr(按位或)将把 $a 和 $b 中任何一个为 1 的位设为 1。
$a ^ $bXor(按位异或)将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。
~ $aNot(按位取反)将 $a 中为 0 的位设为 1,反之亦然。
$a << $bShift left(左移)将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
$a >> $bShift 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 ?? $cNULL 合并操作符从左往右第一个存在且不为 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 $bAnd(逻辑与)TRUE,如果 $a 和 $b 都为 TRUE。
$a or $bOr(逻辑或)TRUE,如果 $a 或 $b 任一为 TRUE。
$a xor $bXor(逻辑异或)TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。
! $aNot(逻辑非)TRUE,如果 $a 不为 TRUE。
$a && $bAnd(逻辑与)TRUE,如果 $a 和 $b 都为 TRUE。
$a || $bOr(逻辑或)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

帮助文档

流程图帮助文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: