PHP - 運算子型別



PHP 中的運算子是什麼?

與任何程式語言一樣,PHP 也具有運算子,運算子是預定義的符號(有時為關鍵字),用於對一個或多個運算元執行某些常用操作。

例如,使用表示式“4 + 5”等於 9。這裡“4”和“5”稱為運算元,而“+”稱為運算子

PHP 中有以下幾種型別的運算子:

  • 算術運算子

  • 比較運算子

  • 邏輯運算子

  • 賦值運算子

  • 字串運算子

  • 陣列運算子

  • 條件(或三元運算子)

本章將概述如何在 PHP 中使用這些運算子。在後續章節中,我們將更詳細地介紹每個運算子及其工作原理。

PHP 中的算術運算子

我們使用算術運算子對給定的運算元執行數學運算,例如加法、減法、乘法、除法等。算術運算子(不包括增量和減量運算子)始終作用於兩個運算元,但是這些運算元的型別應相同。

下表突出顯示了 PHP 支援的算術運算子。假設變數“$a”儲存 42,變數“$b”儲存 20:

運算子 描述 示例
+ 將兩個運算元相加 $a + $b = 62
- 從第一個運算元中減去第二個運算元 $a - $b = 22
* 將兩個運算元相乘 $a * $b = 840
/ 將分子除以分母 $a / $b = 2.1
% 模運算子,整數除法後的餘數 $a % $b = 2
++ 增量運算子,將整數值增加 1 $a ++ = 43
-- 減量運算子,將整數值減少 1 $a -- = 42

PHP 中的比較運算子

您可以使用比較運算子比較兩個運算元並找出它們之間的關係。它們根據比較結果返回布林值(真或假)。

下表突出顯示了 PHP 支援的比較運算子。假設變數 $a 儲存 10,變數 $b 儲存 20,則:

運算子 描述 示例
== 檢查兩個運算元的值是否相等,如果相等則條件為真。 ($a == $b) 為假
!= 檢查兩個運算元的值是否不相等,如果不相等則條件為真。 ($a != $b) 為真
> 檢查左側運算元的值是否大於右側運算元的值,如果大於則條件為真。 ($a > $b) 為假
< 檢查左側運算元的值是否小於右側運算元的值,如果小於則條件為真。 ($a < $b) 為真
>= 檢查左側運算元的值是否大於或等於右側運算元的值,如果大於或等於則條件為真。 ($a >= $b) 為假
<= 檢查左側運算元的值是否小於或等於右側運算元的值,如果小於或等於則條件為真。 ($a <= $b) 為真

PHP 中的邏輯運算子

您可以在 PHP 中使用邏輯運算子對多個表示式一起執行邏輯運算。邏輯運算子始終返回布林值,即真或假。

邏輯運算子通常與條件語句和迴圈一起使用,以根據布林條件返回決策。您還可以將它們組合起來,在處理複雜表示式時操作布林值。

下表突出顯示了 PHP 支援的邏輯運算子。

假設變數 $a 儲存 10,變數 $b 儲存 20,則:

運算子 描述 示例
並且 稱為邏輯 AND 運算子。如果兩個運算元均為真,則條件為真。

(A 且 B) 為真
稱為邏輯或運算子。如果兩個運算元中的任何一個非零,則條件變為真。 (A 或 B) 為真
&& 稱為邏輯與運算子。如果兩個運算元都非零,則條件變為真。 (A && B) 為真
|| 稱為邏輯或運算子。如果兩個運算元中的任何一個非零,則條件變為真。 (A || B) 為真
! 稱為邏輯非運算子。用於反轉其運算元的邏輯狀態。如果條件為真,則邏輯非運算子將使其變為假。 !(A && B) 為假

PHP 中的賦值運算子

您可以使用 PHP 中的賦值運算子來為給定變數分配或更新新值。賦值運算子的右側儲存值,賦值運算子的左側是將為其分配值的變數。

兩側的資料型別應相同,否則您將收到錯誤。賦值運算子的結合性是從右到左。PHP 支援兩種型別的賦值運算子:

  • 簡單賦值運算子 - 這是最常用的運算子。它用於為變數或常量賦值。

  • 複合賦值運算子 - 賦值運算子 (=) 與其他運算子(如 +、*、/ 等)的組合。

下表突出顯示了 PHP 支援的賦值運算子:

運算子 描述 示例
= 簡單賦值運算子,將右側運算元的值賦給左側運算元 C = A + B 將 A + B 的值賦給 C
+= 加法並賦值運算子,它將右側運算元新增到左側運算元,並將結果賦給左側運算元 C += A 等價於 C = C + A
-= 減法並賦值運算子,它從左側運算元中減去右側運算元,並將結果賦給左側運算元 C -= A 等價於 C = C - A
*= 乘法並賦值運算子,它將右側運算元乘以左側運算元,並將結果賦給左側運算元 C *= A 等價於 C = C * A
/= 除法並賦值運算子,它將左側運算元除以右側運算元,並將結果賦給左側運算元 C /= A 等價於 C = C / A
%= 取模並賦值運算子,它使用兩個運算元進行取模運算,並將結果賦給左側運算元 C %= A 等價於 C = C % A

PHP 中的字串運算子

PHP 中有兩個用於處理字串資料型別的運算子:

  • “.”(點)運算子是 PHP 的連線運算子。它連線兩個字串運算元(右側字串的字元附加到左側字串),並返回一個新字串。

  • PHP 還有“.”= 運算子,可以稱為連線賦值運算子。它透過附加右側運算元的字元來更新其左側的字串。

$third = $first . $second;
$leftstring .= $rightstring;

PHP 中的陣列運算子

PHP 定義了以下符號集,用作陣列資料型別的運算子:

符號 示例 名稱 結果
+ $a + $b 聯合 $a 和 $b 的聯合。
== $a == $b 相等 如果 $a 和 $b 具有相同的鍵/值對,則為 TRUE。
=== $a === $b 恆等 如果 $a 和 $b 以相同的順序且具有相同的型別,則具有相同的鍵/值對,則為 TRUE。
!= $a != $b 不相等 如果 $a 不等於 $b,則為 TRUE。
<> $a <> $b 不相等 如果 $a 不等於 $b,則為 TRUE。
!== $a !== $b 非恆等 如果 $a 與 $b 不相同,則為 TRUE。

PHP 中的條件運算子

PHP 中還有一個運算子,稱為條件運算子。它也稱為三元運算子。它首先評估表示式的真或假值,然後根據評估結果執行兩個給定語句中的一個。

運算子 描述 示例
? : 條件表示式 如果條件為真?則值為 X:否則值為 Y

PHP 中的運算子類別

我們上面討論的所有運算子都可以分為以下類別:

  • 一元字首運算子,位於單個運算元之前。

  • 二元運算子,它採用兩個運算元並執行各種算術和邏輯運算。

  • 條件運算子(三元運算子),它採用三個運算元並根據第一個表示式的評估結果評估第二個或第三個表示式。

  • 賦值運算子,它將值賦給變數。

PHP 中的運算子優先順序

運算子的優先順序決定了表示式中運算子的執行順序。例如,在“2+6/3”中,首先執行 6/3 的除法,然後執行“2+2”的加法,因為除法運算子“/”比加法運算子“+”具有更高的優先順序。

要強制某個運算子在其他運算子之前呼叫,應使用括號。在此示例中,(2+6)/3 首先執行加法,然後執行除法。

某些運算子可能具有相同的優先順序。在這種情況下,結合性順序(左或右)決定了操作順序。具有相同優先順序但是非結合性的運算子不能彼此相鄰使用。

下表按優先順序遞減的順序列出了 PHP 運算子:

運算子 用途
clone new 克隆和新建
** 指數運算
++ -- 增量/減量
~(int) (float) (string) (array) (object) (bool) 型別轉換
instanceof 型別
! 邏輯
* / 乘法/除法
% 取模
+ - . 算術和字串
<< >> 按位移位
< <= > >= 比較
== != === !== <> <=> 比較
& 按位與/引用
^ 按位異或
| 按位或
&& 邏輯與
|| 邏輯或
?? 空合併
? : 三元
= += -= *= **= /= .= %= &= |= ^= <<= >>= ??= 賦值運算子
yield from yield from
yield yield
print print
並且 邏輯
xor 邏輯
邏輯
廣告