1.8PHP语言的操作符(Operator)

1.字符串操作符

操作符名称例子结果
.串接$txt1 = “Hello” $txt2 = $txt1 . ” world!”现在 $txt2 包含 “Hello world!”
.=串接赋值$txt1 = “Hello” $txt1 .= ” world!”现在 $txt1 包含 “Hello world!”

2.算术操作符

操作符名称例子结果
+标识+$x根据情况将 $x 转化为 int 或 float
取反-$x$x 的负值
+加法$x + $y$x 与 $y 求和
减法$x – $y$x 与 $y 的差数
*乘法$x * $y$x 与 $y 的乘积
/除法$x / $y$x 与 $y 的商数
%取余$x % $y$x 除 $y 的余数
**求幂$x ** $y$x 的 $y次方的值

3.赋值操作符

赋值等同于结果
x = yx = y把右侧表达式的值赋给左边的操作数
x += yx = x + y
x -= yx = x – y
x *= yx = x * y
x /= yx = x / y
x %= yx = x % y余数
$x **= $y$x = $x ** $y指数

4.递增/递减操作符

操作符名称结果
++$x前递增$x 加一递增,然后返回 $x
$x++后递增返回 $x,然后 $x 加一递增
–$x前递减$x 减一递减,然后返回 $x
$x–后递减返回 $x,然后 $x 减一递减

5.比较操作符

操作符名称例子结果
==等于$x == $y如果 $x 等于 $y,则返回 true。
===全等(完全相同)$x === $y如果 $x 等于 $y,且它们类型相同,则返回 true。
!=不等于$x != $y如果 $x 不等于 $y,则返回 true。
<>不等于$x <> $y如果 $x 不等于 $y,则返回 true。
!==不全等(完全不同)$x !== $y如果 $x 不等于 $y,或它们类型不相同,则返回 true。
>大于$x > $y如果 $x 大于 $y,则返回 true。
<小于$x < $y如果 $x 小于 $y,则返回 true。
>=大于或等于$x >= $y如果 $x 大于或者等于 $y,则返回 true.
<=小于或等于$x <= $y如果 $x 小于或者等于 $y,则返回 true。
<=>太空船运算符(组合比较符)$x <=> $y$x小于、等于、大于 $y时 分别返回一个小于、等于、大于0的 int 值。

6.逻辑操作符

操作符名称例子结果
and$x and $y如果 $x 和 $y 都为 true,则返回 true。
or$x or $y如果 $x 和 $y 至少有一个为 true,则返回 true。
xor异或$x xor $y如果 $x 和 $y 有且仅有一个为 true,则返回 true。
&&$x && $y如果 $x 和 $y 都为 true,则返回 true。
||$x || $y如果 $x 和 $y 至少有一个为 true,则返回 true。
!!$x如果 $x 不为 true,则返回 true。

7.位操作符

操作符名称例子结果
&按位与$x & $y将 $x 和 $y 的每一位进行与操作所得的结果。
|按位或$x | $y将 $x 和 $y 的每一位进行或操作所得的结果。
~按位非~$x将 $x 的每一位进行非操作所得的结果。
^按位异或$x ^ $y将 $x 和 $y 的每一位进行异或操作所得的结果。
<<左位移$x << $y将 $x 左移 $y 位
>>右位移$x >> $y将 $x 右移 $y 位

8.数组操作符

操作符名称例子结果
+联合$x + $y$x 和 $y 的联合(但不覆盖重复的键)
==相等$x == $y如果 $x 和 $y 拥有相同的键/值对,则返回 true。
===全等$x === $y如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。
!=不相等$x != $y如果 $x 不等于 $y,则返回 true。
<>不相等$x <> $y如果 $x 不等于 $y,则返回 true。
!==不全等$x !== $y如果 $x 与 $y 完全不同,则返回 true。

9.三元操作符

三元操作符是类似于条件语句 if-else 的表达式版本。

(expr1) ? (expr2) : (expr3) 

在 expr1 求值为 true 时的值为 expr2,在 expr1 求值为 false 时的值为 expr3。

10.NULL合并操作符

(expr1) ?? (expr2)

当 expr1 为 null,表达式 (expr1) ?? (expr2) 等同于 expr2,否则为 expr1。

11.引用操作符

引用操作符&可以在赋值操作中使用。通常,在将一个变量的值赋给另一个变量的时候,会先产生原变量的一个副本,然后再将它保存在内存的其他地方。例如:

$a = 5;
$b = $a;
$a = 7;
//$b的值依然是5

首先,会产生$a的一个副本,然后再将它保存到$b(内存的其他地方)。如果改变$a和$b中任意一个的值,都不会改变另外一个变量的值,很显然,这两个变量已经指向了两个不同的内存地址。

要避免生成副本,可以使用引用操作符&

$a = 5;
$b = &$a;
$a = 7;
//$a和$b的值都是7

很显然,$a和$b都指向了同一个内存地址。

12.类型操作符

instanceof操作符允许检查一个对象是否为特定类的实例。

class sampleClass{};
$myObject = new sampleClass();
if ($myObject instanceof sampleClass)
    echo "myObject is an instance of sampleClass";

13.use操作符

可以使用use操作符导入并别名其他命名空间内的成员:类,命名空间,接口,Trait,函数,常量。

// 导入类并别名
use My\Full\Classname as Another;

// 等同于 use My\Full\NSname as NSname
use My\Full\NSname;

// 导入全局类
use ArrayObject;

// 导入函数
use function My\Full\functionName;

// 导入并别名函数
use function My\Full\functionName as func;

// 导入常量
use const My\Full\CONSTANT;

14.其他操作符

逗号操作符(,):用来分隔函数参数和其他列表项的。

new操作符:初始化实例。

对象操作符(->):访问类的非静态成员。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/php/phpbasic/4933.html

发表评论

登录后才能评论