php从入坑到弃坑,PHP入坑之 运算符

PHP入坑之 运算符

6cd5e4fd49658da7be73f2e8e3760c00.png

1年前

阅读 1134

评论 0

喜欢 0

### 1、什么是PHP运算符

1、运算符,顾名思义就是用来进行一些条件比较、算术计算、逻辑变更等的符号集合。

2、PHP常用的运算符,主要有7大类,分别为:算数运算符、赋值运算符、字符串运算符、递增/递减运算符、比较运算符、逻辑运算符、数组运算符。

注意:由于数组的知识点较为复杂,所以关于数组运算符的教程会放在之后教程中。

####A、算数运算符

主要用于加、减、乘、除四则计算,和取余数,这5大算术运算。

|运算符|名称|例子|结果|

|:--:|:--:|:--:|:--:|

|+|加法|$x + $y|$x 与 $y 求和|

|-|减法|$x - $y|$x 与 $y 的差数|

|*|乘法|$x * $y|$x 与 $y 的乘积|

|/|除法|$x / $y|$x 与 $y 的商数|

|%|模数|$x % $y|$x 除 $y 的余数|

```php

$x = 10;

$y = 6;

echo ($x + $y); // 输出 16

echo ($x - $y); // 输出 4

echo ($x * $y); // 输出 60

echo ($x / $y); // 输出 1.6666666666667

echo ($x % $y); // 输出 4

```

####B、赋值运算符

主要用于变量间的组合操作,主要依赖`=`号作为基础运算符,`=`号也是最常用的赋值运算符之一。

|运算符|名称|赋值|等同于|结果|

|:---:|:---:|:---:|:---:|:---:|

|=|基础赋值|$x = 'hello world'||左边变量 会获得赋值内容 'hello world'|

|+=|加等于|$x += $y|$x = $x + $y|左变量 与 右变量加法运算之后,重新赋值给左变量|

|-=|减等于|$x -= $y|$x = $x - $y|左变量 与 右变量减法运算之后,重新赋值给左变量|

|*=|乘等于|$x *= $y|$x = $x * $y|左变量 与 右变量乘法运算之后,重新赋值给左变量|

|/=|除等于|$x /= $y|$x = $x / $y|左变量 与 右变量除法运算之后,重新赋值给左变量|

|%=|取余等于|$x %= $y|$x = $x % $y|左变量 与 右变量相除,取得余数结果后,重新赋值给左变量|

```php

$x=10;

echo $x; // 输出 10

$y=20;

$y += 100;

echo $y; // 输出 120

$z=50;

$z -= 25;

echo $z; // 输出 25

$i=5;

$i *= 6;

echo $i; // 输出 30

$j=10;

$j /= 5;

echo $j; // 输出 2

$k=15;

$k %= 4;

echo $k; // 输出 3

```

####C、字符串运算符

顾名思义,字符串运算符就是专门只针对字符串,进行操作使用的一些特殊符号组合;

|运算符|名称|赋值|结果|

|:---:|:---:|:---:|:---:|

|.|字符串连接(同行)|$x = 'hello' .' '. 'world'|同一行代码里,可以连续链接多段字符串|

|.=|字符串链接(分段)|$x = 'hello';$x .= ' ';$x .= 'world';|为了代码的美化性、可维护性和可开发性,代替同行链接,所衍生出来的分段链接运算符|

```php

$a = 'hello' .' '. 'world';

echo $a; // 输出 hello world

$x = 'hello';

$x .= ' ';

$x .= 'world';

echo $x; // 输出 hello world

```

>老师提醒:在使用 `.=` 运算符之前,其对应的变量必须已经创建,如上述代码中的 `$x` 变量,否则PHP将会提示该变量不存在。

####D、递增/递减运算符

该运算符是算术运算符中,`+`、`-`算法的一种衍生运算符,其主要特点是在与运算符最后返回的结果与算术运算符有所不同。

|运算符|名称|结果|

|:---:|:---:|:---:|

|++$i|先+1,后返回|$i+1,最后再返回相加之后的$i|

|$i++|先返回,后+1|先返回$i的内容,最后$i再+1|

|--$i|先-1,后返回|$i-1,最后再返回相减之后的$i|

|$i--|先返回,后-1|先返回$i的内容,最后$i再-1|

```php

$x = 10;

echo ++$x; // 输出 11

$y = 10;

echo $y++; // 输出 10

$z = 5;

echo --$z; // 输出 4

$i = 5;

echo $i--; // 输出 5

```

####E、比较运算符

该运算符是针对两个值(数字或字符串)的比较运算,如:

`$i 大于 $x`

`$i 绝对等于 $x`

等比较运算。

|运算符|名称|例子|结果|

|:---:|:---:|:---:|:---:|

|==|等于|$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。|

```php

$x = 100;

$y = '100';

# 比较 $x与$y 是否相等,由于==是不会限制数据类型,所以运算符成立,结果返回true

var_dump($x == $y);

# 比较 $x与$y 是否完全相等,由于===是严格限制数据类型,所以运算符不成立,结果返回false

var_dump($x === $y);

# 比较 $x 是否不等于 $y,由于!=是不会限制数据类型,所以运算符不成立,结果返回false

var_dump($x != $y);

# 比较 $x 是否绝对不等于 $y,由于!==是严格限制数据类型,所以运算符成立,结果返回true

var_dump($x !== $y);

```

####F、PHP 逻辑运算符

逻辑运算符,是用于组成一条两边表达式,是按照从左到右顺序进行运算。例如,表达:

`$x==1` 并且 `$y==2`

`$x==1` 或者 `$x==2`

这类表达式中的,并且、或者,就是逻辑运算符的作用。

|运算符|名称|例子|结果|

|:---:|:---:|:---:|:---:|

|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|如果 $x 不为 true,则返回 true。|

还有一条打不出,就这样显示吧

```

运算符名称例子 结果

|| 或$x || $y如果 $x 和 $y 至少有一个为 true,则返回 true。

```

> 老师提醒:由于逻辑运算符需要结合`if`判断语句,才好进行实战理解,所以该运算符暂时不做示例代码演示;不过同学们还是要熟记该类运算符下,所有运算符号对应的作用。

####G、运算符的优先级

该优先级是指,PHP所有运算符中,哪一些运算符在混搭使用的过程中,最优先执行,例如下面的代码:

```php

$A = true;

$B = false;

$C = $A and $B;

# 由于 = 的优先级比and要高,所以执行顺序应该是:$C 先获得赋值 $A,最后$A再和$B做and运算

var_dump($C); // 输出true

# 由于 && 的优先级比 = 的优先级高,所以执行顺序应该是:$A和$B先做&&运算,最后再将结果返回,赋值给$D

$D = $A && $B;

var_dump($D); // 输出false

```

下面老师总结出一张表,列出了运算符的优先级顺序,越靠上的优先级越高,同一行的优先级相同。

相同优先级的使用结合性进行分组处理。

|结合性|运算符|额外信息|

|:---:|:---:|:---:|

|左|[|数组|

|右|++、--|自增/自减|

|右|!|逻辑运算|

|左|*、/、%|算术|

|左|+、–、.|算术和字符串|

|左|<>|按位运算|

|不能结合|、>=|比较运算|

|不能结合|==、!=、===、!==、<>|比较运算|

|左|&|按位运算和引用|

|左|^|按位运算|

|左|一个竖杠|按位运算|

|左|&&|逻辑运算|

|左|两个竖杠|逻辑运算|

|左|?:|三元条件选择|

|右|=、+=、-=、*=、/=、.=、%=、&=|赋值|

|左|and|逻辑运算|

|左|xor|逻辑运算|

|左|or|逻辑运算|

|左|,|很多使用|

> 老师提醒:慎重使用`and`, `or`和`xor`的逻辑运算符, 避免和赋值号以及`&&`和`||`一起用, 以免发生不必要的逻辑错误.

© 著作权归作者所有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值