博客列表 >初识 PHP 运算符

初识 PHP 运算符

PHP新手学习记录
PHP新手学习记录原创
2020年04月20日 14:00:52654浏览

初识 PHP 运算符

1. 算术运算符

基本的加、减、乘、除、取模、求幂。

  1. $a = 7;
  2. $b = 3;
  3. --------------------
  4. echo $a + $b; // 7 + 3 = 10
  5. echo $a - $b; // 7 - 3 = 4
  6. echo $a * $b; // 7 * 3 = 21
  7. echo $a / $b; // 7 / 3 = 2.3333333333333
  8. echo $a % $b; // 7 / 3 = 2 余 1
  9. echo $a ** $b; // 7 的 3 次方 = 343(自 php5.6 )

2. 递增 / 递减运算符

根据符号位置不同,选择先加减还是先返回值。符号在前先加减再返回值,反之亦然。

  1. $x++, ++$x, $x--, --$x
  2. $x = 5;
  3. echo $x++; // 5
  4. echo $x; // 6
  5. echo ++$x; // 7 上一步 $x = 6,这里先赋值再返回,所以是 7
  6. echo $x; // 7

3. 字符串运算符

老师讲了一个 “ . ” 连接运算符,返回左右参数连接后的字符串。
官方手册中把 “ .= ” 称为连接赋值运算符,功能是将右边参数附加到左边参数之后。

  1. $x = 1;
  2. $y = 2;
  3. var_dump($x . $y); // string(2) "12"
  4. $z = 1;
  5. $z .= 23;
  6. var_dump($z); // string(3) "123"

4. 赋值运算符

共有 7 中,自己测试的例子如下:

  1. $a = 10; // 将 a 的值设置为 10
  2. echo ($a += 2) . '<br>'; // 10 + 2 = 12
  3. echo ($a -= 2) . '<br>'; // 12 - 2 = 10
  4. echo ($a *= 2) . '<br>'; // 10 * 2 = 20
  5. echo ($a /= 2) . '<br>'; // 20 / 2 = 10
  6. echo ($a %= 2) . '<br>'; // 10 % 2 = 5 余数为 0

5. 比较运算符

讲了 9 种,两边 比较后会返回布尔值 ,常用于流程控制(if/while/for…),代码示例如下:

  1. $a > $b // a 大于 b
  2. $a >= $b // a 大于或等于 b
  3. $a < $b // a 小于 b
  4. $a <= $b // a 小于或等于 b
  5. $a == $b // a 等于 b,值相等即可,会自动转换。不要和 = 赋值运算符搞混了
  6. $a === $b // 全等,值与类型都相等,老师说推荐使用。
  7. $a != $b // a 不等于 b
  8. $a !== $b // a 不全等于 b
  9. $a <=> // 太空船(结合比较运算符),php7+

关于 太空船 运算符,专门测试了下:太空船比较运算符小知识

6. 逻辑运算符

讲了 4 种逻辑运算符,&& 与,|| 或,! 非,xor 逻辑异或

  1. $a && $b; // 如果 $a 和 $b 都为 true
  2. $a || $b; // 如果 $a 或 $b 任一为 true
  3. !$a; // 如果 $a 不为 true
  4. $a xor $b; // 如果 $a 或 $b 任一为 true,但不同时是。

7. 三元运算符 和 null 合并运算符

三元运算符
格式 条件 ? 结果1 : 结果2
作用 用来简化双分支语句
  1. $a = '10';
  2. echo is_numeric($a) ? '是数字' : '不是数字'; // 是数字

以上代码等同于:

  1. if (is_numeric($a)) {
  2. echo '是数字';
  3. } else {
  4. echo '不是数字';
  5. }

is_numeric() 函数的作用:检测变量是否为数字或数字字符串,是则返回 TRUE,否则返回 FALSE。

null 合并运算符
格式 $a = $a ?? $b
作用 简化代码?
  1. $user = 'jack';
  2. $user = $user ?? 'guest';
  3. echo $user; // jack

以上代码等同于:

  1. echo $user == 'jack' ? 'jack' : 'guest';

8. 错误控制运算符

将 @ 符号放在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略。

@ 运算符只对表达式有效。一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。例如,可以把它放在变量,函数和 include 调用,常量,等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例如 ifforeach 等。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议