PHP提供了一些基本的算數運算子來執行數值運算:
加法(+):
$a = 5;
$b = 10;
$sum = $a + $b; // $sum的值為15
減法(-):
$a = 10;
$b = 5;
$difference = $a - $b; // $difference的值為5
乘法(*):
$a = 5;
$b = 10;
$product = $a * $b; // $product的值為50
除法(/):
$a = 10;
$b = 2;
$quotient = $a / $b; // $quotient的值為5
取餘(%):
$a = 10;
$b = 3;
$remainder = $a % $b; // $remainder的值為1
指數()**:
$a = 2;
$b = 3;
$power = $a ** $b; // $power的值為8
比較運算子用於比較兩個值:
等於(==):
$a = 5;
$b = 5;
var_dump($a == $b); // true
全等(===):
$a = 5;
$b = "5";
var_dump($a === $b); // false
不等於(!= 或 <>):
$a = 5;
$b = 10;
var_dump($a != $b); // true
不全等(!==):
$a = 5;
$b = "5";
var_dump($a !== $b); // true
大於(>):
$a = 10;
$b = 5;
var_dump($a > $b); // true
小於(<):
$a = 5;
$b = 10;
var_dump($a < $b); // true
大於等於(>=):
$a = 10;
$b = 10;
var_dump($a >= $b); // true
小於等於(<=):
$a = 5;
$b = 10;
var_dump($a <= $b); // true
賦值運算子用於給變數賦值:
基本賦值(=):
$a = 5;
加法賦值(+=):
$a = 5;
$a += 10; // 等同於 $a = $a + 10
減法賦值(-=):
$a = 15;
$a -= 5; // 等同於 $a = $a - 5
乘法賦值(*=):
$a = 5;
$a *= 10; // 等同於 $a = $a * 10
除法賦值(/=):
$a = 10;
$a /= 2; // 等同於 $a = $a / 2
取餘賦值(%=):
$a = 10;
$a %= 3; // 等同於 $a = $a % 3
指數賦值(=)**:
$a = 2;
$a **= 3; // 等同於 $a = $a ** 3
位元運算子用於按位操作:
按位與(&):
$a = 5; // 0101
$b = 3; // 0011
$result = $a & $b; // 0001
按位或(|):
$a = 5; // 0101
$b = 3; // 0011
$result = $a | $b; // 0111
按位異或(^):
$a = 5; // 0101
$b = 3; // 0011
$result = $a ^ $b; // 0110
按位非(~):
$a = 5; // 0101
$result = ~$a; // 1010(取反)
左移(<<):
$a = 5; // 0101
$result = $a << 1; // 1010
右移(>>):
$a = 5; // 0101
$result = $a >> 1; // 0010
運算子的優先等級決定了表達式中運算子的計算順序。以下是一些常見運算子的優先等級(從高到低):
++
(遞增)、-
(遞減)**
(指數運算)*
(乘法)、/
(除法)、%
(取餘)+
(加法)、-
(減法)<<
(左移)、>>
(右移)<
、<=
、>
、>=
==
、!=
、===
、!==
&
(按位與)^
(按位異或)|
(按位或)&&
(邏輯與)||
(邏輯或)=
、+=
、-=
、*=
、/=
、%=
(賦值運算子)and
(邏輯與)、xor
(邏輯異或)、or
(邏輯或)運算子優先等級影響表達式的計算順序,使用括號可以改變運算的順序以確保表達式按照預期執行:
$a = 5;
$b = 10;
$c = 15;
$result = $a + $b * $c; // $result的值為155,因為乘法優先於加法
$result = ($a + $b) * $c; // $result的值為225,因為括號改變了運算順序