PHP运算符

php中的运算符分为一下几类运算符:

1、算术运算符

例子名称结果
_$a取反$a的负值
$a+$b加法$a+$b的和
$a-$b减法$a和$b的值
$a*4b乘法$a除以$b的积
$a/$b除法$a除以$b的商
$a%$b取模     $a除以$b的余数
$a**$bExponentiaton 

除法运算符总是返回浮点数。只有在下列情况列外:两个操作数都是整数(或字符串转换成的整数)并且正好能整除,这时它返回一个整数。

取模运算符的操作数在运算之前都会转换成整数(除去小数部分)。

取模运算符%的结果和被除数的符号(正负号)相同。即$a%$b的结果和$a的符号相同。例如:

<?php
echo (5%3). " \n";
echo (5%-3). "\n";
echo (-5%3).  "\n";
<?

2、赋值运算符

基本的赋值运算符是“=”。一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的赋值给左边的运算数。

引用赋值:php引用赋值,使用"$var=&$othervar",语法。引用赋值意味着两个变量指向同一个数据,没有拷贝任何东西。

3、位运算符

例子名称结果
$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次
$a>>$bShift left(右移)将$a中的位向右移动$b次

位移在php中是数学运算。向任何方向移除去的位都被丢弃。左移时右侧以零填充,符号位被移走意味着正负号不被保留。

4、比较运算符,如同它们名称所暗示的,允许对两个字进行比较。

$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结合比较运算符TRUE,当$a小于、等于、大于than $b时 分别返回一个小于、等于、大于0的integer值。php7提供。
$a??$b??$cNULL 合并操作符从左往右第一个存在且不为NULL 的操作数。如果都没有定义且不为NULL,则返回NULL.PHP7提供。

如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。此规则也适用于 switch 语句。当用 === 或 !== 进行比较时则不进行类型转换,因为此时类型和数值都要比对。 

5、错误控制运算符

PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。注意:     @ 运算符只对表达式有效。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和 include调用,常量,等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例如 if 和 foreach 等。

6、PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回(即,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符"`"的效果与函数 shell_exec() 相同。 

7、递增 / 递减运算符。

PHP 支持 C 风格的前/后递增与递减运算符。  

例子名称效果
++$a前加$a 的值加一,然后返回 $a
$a++后加返回 $a,然后将 $a 的值加一。
--$a前减$a 的值减一, 然后返回 $a
$a--后减返回 $a,然后将 $a 的值减一。

注意:在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 $a = 'Z'; $a++; 将把 $a 变成'AA',而在 C 中,a = 'Z'; a++; 将把 a 变成 '[''Z' 的 ASCII 值是 90,'[' 的 ASCII 值是 91)。注意字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 A-Z)。递增/递减其他字符变量则无效,原字符串没有变化。    

8、

例子名称结果
$a and $bOr(逻辑或)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

"与"和"或"有两种不同形式运算符的原因是它们运算的优先级不同

9、字符串运算符

有两个字符串(string)运算符。第一个是连接运算符("."),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(".="),它将右边参数附加到左边的参数之后。

10、数组运算符

例子名称结果
$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

注意:+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。

11、类型运算符

instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例

转载于:https://www.cnblogs.com/zhpQAQ/p/6389325.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值