PHP 運算符
PHP運算符是一個用于在操作數上執行操作的符號。愛掏網 - it200.com簡單來說,運算符用于在變量或值上執行操作。愛掏網 - it200.com例如:
$num=10+20;//+ is the operator and 10,20 are operands
在上面的示例中,+ 是二進制+運算符,10和20是操作數,$num是變量。愛掏網 - it200.com
PHP運算符可以分為以下幾種形式:
- 算術運算符
- 賦值運算符
- 位運算符
- 比較運算符
- 遞增/遞減運算符
- 邏輯運算符
- 字符串運算符
- 數組運算符
- 類型運算符
- 執行運算符
- 錯誤控制運算符
我們還可以根據操作數對運算符進行分類。愛掏網 - it200.com它們可以分為3種形式:
- 一元運算符: 對單個操作數進行操作,例如++,–等。愛掏網 - it200.com
- 二元運算符: 對兩個操作數進行操作,例如二進制+,-,*,/等。愛掏網 - it200.com
- 三元運算符: 對三個操作數進行操作,例如”?:”。愛掏網 - it200.com
PHP算術運算符用于對數字值進行常見的算術操作,如加法、減法等。愛掏網 - it200.com
操作符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
+ |
加法 | $a + $b |
操作數的和 |
- |
減法 | $a - $b |
操作數的差 |
* |
乘法 | $a * $b |
操作數的積 |
/ |
除法 | $a / $b |
操作數的商 |
% |
取余 | $a % $b |
操作數的余數 |
** |
冪運算 | $a ** $b |
$a 的 $b 次冪 |
PHP 5.6 引入了指數運算符(**
)。愛掏網 - it200.com
賦值運算符
賦值運算符用于給不同的變量賦值。愛掏網 - it200.com基本賦值運算符是”=”。愛掏網 - it200.com
運算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
= |
賦值 | $a = $b |
將右操作數的值賦給左操作數。愛掏網 - it200.com |
+= |
加后賦值 | $a += $b |
加法,等同于 $a = $a + $b |
-= |
減后賦值 | $a -= $b |
減法,等同于 $a = $a - $b |
*= |
乘后賦值 | $a *= $b |
乘法,等同于 $a = $a * $b |
/= |
除后賦值 (商) | $a /= $b |
計算商,等同于 $a = $a / $b |
%= |
除后賦值 (余數) | $a %= $b |
計算余數,等同于 $a = $a % $b |
位運算符
位運算符用于對操作數執行位級操作。愛掏網 - it200.com這些運算符允許在整數中評估和操作特定的位。愛掏網 - it200.com
運算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
& |
與 | $a & $b |
將$a 和$b 中為1的位設置為1,否則設置為0。愛掏網 - it200.com |
| |
或(包括或) | $a | $b |
將$a 和$b 中為1的位設置為1。愛掏網 - it200.com |
^ |
異或 | $a ^ $b |
將$a 和$b 中為1的位設置為0。愛掏網 - it200.com |
~ |
非 | ~$a |
將為1的位設置為0,為0的位設置為1。愛掏網 - it200.com |
<< |
左移 | $a << $b |
將操作數$a 的位向左移動$b 步。愛掏網 - it200.com |
>> |
右移 | $a >> $b |
將操作數$a 的位向右移動$b 個位置。愛掏網 - it200.com |
比較運算符
比較運算符允許比較兩個值,如數字或字符串。愛掏網 - it200.com以下是比較運算符的列表:
運算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
== |
等于 | $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 |
< |
小于 | $a < $b |
如果 $a 小于 $b ,返回 TRUE |
> |
大于 | $a > $b |
如果 $a 大于 $b ,返回 TRUE |
<= |
小于等于 | $a <= $b |
如果 $a 小于等于 $b ,返回 TRUE |
>= |
大于等于 | $a >= $b |
如果 $a 大于等于 $b ,返回 TRUE |
<=> |
太空船 | $a <=>$b |
如果 $a 小于 $b ,返回 -1 如果 $a 等于 $b ,返回 0 如果 $a 大于 $b ,返回 1 |
自增/自減運算符
自增和自減運算符用于增加和減少變量的值。愛掏網 - it200.com
運算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
++ |
增量運算符 | ++$a |
將$a 的值加一,然后返回$a 的值 |
$a++ |
返回$a 的值,然后將$a 的值加一 |
||
\-- |
減量運算符 | --$a |
將$a 的值減一,然后返回$a 的值 |
$a-- |
返回$a 的值,然后將$a 的值減一 |
邏輯運算符
邏輯運算符用于對操作數進行位級操作。愛掏網 - it200.com這些運算符允許在整數中對特定位進行評估和操作。愛掏網 - it200.com
運算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
and |
與 | $a and $b |
如果$a 和$b 都為真,則返回TRUE |
or |
或 | $a or $b |
如果$a 或$b 為真,則返回TRUE |
xor |
異或 | $a xor $b |
如果$a或$b 有一個為真但不是全為真,則返回TRUE |
! |
非 | ! $a |
如果$a 不為真,則返回TRUE |
&& |
與 | $a && $b |
如果$a 和$b 都為真,則返回TRUE |
|| |
或 | $a || $b |
如果$a 或$b 為真,則返回TRUE |
字符串運算符
字符串運算符用于在字符串上執行操作。愛掏網 - it200.com在PHP中有兩個字符串運算符,如下所示:
運算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
. |
連接 | $a . $b |
將$a 和$b 連接起來 |
.= |
連接并賦值 | $a .= $b |
首先將$a 和$b 連接起來,然后將連接后的字符串賦值給$a ,例如 $a = $a . $b |
數組運算符
在數組的情況下使用數組運算符。愛掏網 - it200.com基本上,這些運算符用于比較數組的值。愛掏網 - it200.com
運算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
+ |
并集 | $a + $y |
$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 |
類型運算符
類型運算符 instanceof 用于判斷一個對象、其父類和派生類是否屬于同一類型。愛掏網 - it200.com基本上,該運算符確定對象屬于哪個特定的類。愛掏網 - it200.com它在面向對象編程中使用。愛掏網 - it200.com
<?php
//class declaration
class Developer
{}
class Programmer
{}
//creating an object of type Developer
charu = new Developer();
//testing the type of object
if(charu instanceof Developer)
{
echo "Charu is a developer.";
}
else
{
echo "Charu is a programmer.";
}
echo "</br>";
var_dump(charu instanceof Developer); //It will return true.
var_dump(charu instanceof Programmer); //It will return false.
?>
輸出:
Charu is a developer.
bool(true) bool(false)
執行操作符
PHP擁有一個執行操作符 反引號(``) . PHP將反引號的內容作為shell命令執行。愛掏網 - it200.com執行操作符和 shell_exec() 得到相同的結果。愛掏網 - it200.com
運算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
`` | 反引號 | echo `dir`; | 執行 shell 命令并返回結果。愛掏網 - it200.com 這里,它將顯示當前文件夾中可用的目錄。愛掏網 - it200.com |
注意:請注意,反引號(``)不是單引號。愛掏網 - it200.com
錯誤控制運算符
PHP有一個錯誤控制運算符,即 at (@)
符號 。愛掏網 - it200.com當它與一個表達式一起使用時,任何由該表達式可能生成的錯誤消息都將被忽略。愛掏網 - it200.com
操作符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
@ |
at | @file ('non_existent_file') |
故意的文件錯誤 |
PHP操作符優先級
讓我們看一下PHP操作符的優先級和結合性。愛掏網 - it200.com
運算符 | 附加信息 | 結合性 |
---|---|---|
clone new |
克隆和新建 | 非結合性 |
[ |
array() | 左結合 |
** |
算術 | 右結合 |
++ -- ~ (int) (float) (string) (array) (object) (bool) @ |
增量/減量和類型 | 右結合 |
instanceof |
類型 | 非結合性 |
! |
邏輯(否定) | 右結合 |
* / % |
算術 | 左結合 |
\+ - . |
算術和字符串連接 | 左 |
<< >> |
位運算(移位) | 左 |
< <= > >= |
比較 | 非關聯 |
== != === !== <> |
比較 | 非關聯 |
& |
位與 | 左 |
^ |
位異或 | 左 |
| |
位或 | 左 |
&& |
邏輯與 | 左 |
|| |
邏輯或 | 左 |
?: |
三元運算 | 左 |
= += -= *= **= /= .= %= &= |= ^= <<= >>= => |
賦值運算符 | 右 |
and |
邏輯運算符 | 左 |
xor |
邏輯運算符 | 左 |
or |
邏輯運算符 | 左 |
, |
多種用途(逗號) | 左 |