摘要訊息 : PHP 中的運算子教學.
0. 前言
本文于 2022 年 3 月 18 日进行一次更新和修正. 修正之后本文已经归档, 不再享受更新.
1. 算数运算符
+
: 加法;-
: 减法;*
: 乘法;/
: 除法;%
: 求余/
2. 赋值运算符
=
: 将右边表达式的值赋值给左边;+=
: 将右边表达式的值加上左边的值赋值给左边;-=
: 将右边表达式的值减去左边的值赋值给左边;*=
: 将右边表达式的值乘上左边的值赋值给左边;/=
: 将右边表达式的值除以左边的值赋值给左边;%=
: 将右边表达式的值与左边的值求余后赋值给左边.
3. 字符串运算符
由于 PHP 是弱语言, 所以对于字符串, PHP 给字符串创造了一个较绝大多数语言不同的字符串运算符. ".
" 相当于 C++ 语言中 std::string
类型的 "+
", 即连接字符串 :
<?php
$a = "Hello";
$b = "PHP";
echo $a.", ".$b."!"; // 结果 : Hello, PHP!
?>
".=
" 相当于 C++ 语言中 std::string
类型的 "+=
", 即将右边字符串表达式的值加上左边的字符串再赋值给左边 :
<?php
$a = "Hello";
$a .= $a;
echo $a; // 结果 : HelloHello
?>
4. 递增与递减运算符
++
: 将变量加 1;--
: 将变量减 1.
++
和 --
分成了前递增, 前递减, 后递增和后递减 :
<?php
$i = 0;
echo $i++; // 结果 : 0
echo $i; // 结果 : 1
$i = 0;
echo ++$i; // 结果 : 1
?>
5. 比较运算符
PHP 由于本身的特性, 所以会有比较多的比较运算符 :
==
: 值相等则返回True
, 否则回传False
;===
: 值相等并且类型相等则返回True
, 否则回传False
;!=
: 值不等则返回True
, 否则回传False
;!==
: 值相等但是类型不相等则返回True
, 否则回传False
;<>
: 同 !=, 值不等则返回True
, 否则回传False
;>
: 值较右边大则返回True
, 否则回传False
;<
: 值较右边小则返回True
, 否则回传False
;>=
: 值较右边大或者等于右边则返回True
, 否则回传False
;<=
: 值较右边小或者等于右边则返回True
, 否则回传False
.
6. 逻辑运算符
and
: 与. 当条件全部为True
才返回True
, 否则回传False
;&&
: 同and
;or
: 或. 只要条件有一个为True
则返回True
, 否则回传False
;||
: 同or
;xor
: 异或, 有且仅有一个条件为True
则返回True
, 否则回传False
;!
: 非. 若条件为False
则返回True
, , 否则回传False
.
7. 数组运算符
PHP 不像 Swift, 分为数组, 字典和元组, 在 PHP 中统一使用数组进行表示. 在目前的 PHP 版本中, 数组运算符执行之后, 已经无法正常输出, 所以这里不再做介绍, 有兴趣的可以自行 Google.
8. 位运算符
&
: 按位和;|
: 按位或;^
: 按位异或;~
: 按位取反;<<
: 左移;>>
: 右移.
9. 错误控制运算符
在 PHP 中, 当在运算之前加入 @
则表示 : 若该语句有错误提示, 屏蔽这个提示 :
<?php
$error = 10 / 0; // 有错误提示, 除数为 0
$err = @(10 / 0); // 无错误提示
?>
10. 三元运算符
在 PHP 中, 三元运算符只有一个, 即 "?:
", 和 C 语言中的三元运算符类似 : (condition) ? (statement1) : (statement2)
. 当条件 condition
成立, 则执行语句 statement1
, 否则执行语句 statement2
.
11. 运算符优先级与结合规则
在 PHP 中的运算符的优先级和结合规则其实与正常的数学运算符极其类似. 值得注意的是, 赋值运算符是由右边向左边依次赋值 :
<?php
$a = 0;
$b = 9;
$c = $b = $a;
echo $c; // 结果 : 0
?>
12. 表达式
类似于 $a = 5
被称为表达式, 类似于 $a = 5;
被称为语句.
自創文章, 原著 : Jonny. 如若閣下需要轉發, 在已經授權的情況下請註明本文出處 :