1. 算数运算符

与其他语言类似, PHP 中提供了基本的算数运算符

  • + : 加法
  • - : 减法
  • * : 乘法
  • / : 除法
  • % : 求余

2. 赋值运算符

  • = : 将右边表达式的值赋值给左边
  • += : 将右边表达式的值加上左边的值赋值给左边
  • -= : 将右边表达式的值减去左边的值赋值给左边
  • *= : 将右边表达式的值乘上左边的值赋值给左边
  • /= : 将右边表达式的值除以左边的值赋值给左边
  • %= : 将右边表达式的值与左边的值求余后赋值给左边

3. 字符串运算符

由于 PHP 是弱语言, 所以对于字符串, PHP 给字符串创造了一个较绝大多数语言不同的字符串运算符

  • . : 相当于 C++ 语言中 String 类型的 "+", 即连接字符串
<?php

    $a = "Hello";

    $b = "PHP";

    echo $a.", ".$b."!";    #结果 : Hello, PHP!

?>
  • .= : 相当于 "+=", 即将右边字符串表达式的值加上左边的字符串再赋值给左边
<?php

    $a = "Hello";

    $a .= $a;

    echo $a;    #结果 : HelloHello

?>

4. 递增与递减运算符

  • ++ : 将变量加 1
  • -- : 将变量减 1

注意 : 网上有些教程将 ++-- 分成了前递增、前递减、后递增、后递减, 博主在经过实际的编译之后发现, 其实对于目前的 PHP 来说, 已经没有区别

可以看以下的示例 :

<?php

    $i = 0;

    $i++;

    echo $i;    #结果 : 1

?>

在本段代码中, 网上有些教程会将结果写成 0, 实际上这是错误的

<?php

    $i = 0;

    ++$i;

    echo $i;    $结果 : 0

?>

-- 同理

5. 比较运算符

PHP 由于本身的特性, 所以会有比较多的比较运算符

  • == : 值相等则返回 True
  • === : 值相等并且类型相等则返回 True
  • != : 值不等则返回 True
  • !== : 值相等但是类型不相等则返回 True
  • <> : 同 !=, 值不等则返回 True
  • > : 值较右边大则返回 True
  • < : 值较右边小则返回 True
  • >= : 值较右边大或者等于右边则返回 True
  • <= : 值较右边小或者等于右边则返回 True

6. 逻辑运算符

PHP 有类似于 C 语言的符号型逻辑运算符, 也有单词型的逻辑运算符

  • and : 与, 当全部为 True 才返回 True
  • && : 同 and
  • or : 或, 只要有一个为 True 则返回 True
  • || : 同 or
  • xor : 异或, 有且仅有一个为 True 则返回 True
  • ! : 非, 若为 False 则返回 True

7. 数组运算符

PHP 不像 Swift, 分为数组、字典和元组, 在 PHP 中统一使用数组进行表示

在目前的 PHP 版本中, 数组运算符执行之后, 已经无法正常输出, 所以这里不再做介绍, 有兴趣的可以自行 Google

8. 位运算符

目前, 位运算符的使用已经不多了, 所以只做简单介绍

  • & : 按位和, 若位都为 1 或 0, 则该位为 1
  • | : 按位或, 若位其中有一个为 1, 则位为 1
  • ^ : 按位异或, 若对应位不同, 则位为 1
  • ~ : 按位取反, 若对对应位取相反值
  • << : 左移
  • >> : 右移

9. 错误控制运算符

在 PHP 中, 当在运算之前加入 @ : 若该语句本应该有错误提示, 则屏蔽

<?php

    $error = 10 / 0;    #错误提示

    $err = @(10 / 0);    #无错误提示

?>

10. 三元运算符

在 PHP 中, 三元运算符只有一个, 即 "? : ", 和 C 语言中的三元运算符类似

(condition) ? (statement1) : (statement2)

当条件 condition 成立, 则执行语句 1 statement1, 否则执行语句 2 statement2

11. 运算符优先级与结合规则

在 PHP 中的运算符的优先级和结合规则其实与正常的数学运算符极其类似 (普通运算符与括号哦)

值得注意的是, 赋值运算符是由右边向左边依次赋值

<?php

    $a = 0;

    $b = 9;

    $c = $b = $a;

    echo $c;    #结果 : 0

?>

12. 表达式

类似于 $a = 5 被称为表达式, 类似于 $a = 5; 被称为语句

说到底, 其实表达式是用于条件判断, 也就是返回 True 或者 False