PHP 運(yùn)算符
PHP運(yùn)算符是一個(gè)用于在操作數(shù)上執(zhí)行操作的符號(hào)。愛(ài)掏網(wǎng) - it200.com簡(jiǎn)單來(lái)說(shuō),運(yùn)算符用于在變量或值上執(zhí)行操作。愛(ài)掏網(wǎng) - it200.com例如:
$num=10+20;//+ is the operator and 10,20 are operands
在上面的示例中,+ 是二進(jìn)制+運(yùn)算符,10和20是操作數(shù),$num是變量。愛(ài)掏網(wǎng) - it200.com
PHP運(yùn)算符可以分為以下幾種形式:
- 算術(shù)運(yùn)算符
- 賦值運(yùn)算符
- 位運(yùn)算符
- 比較運(yùn)算符
- 遞增/遞減運(yùn)算符
- 邏輯運(yùn)算符
- 字符串運(yùn)算符
- 數(shù)組運(yùn)算符
- 類型運(yùn)算符
- 執(zhí)行運(yùn)算符
- 錯(cuò)誤控制運(yùn)算符
我們還可以根據(jù)操作數(shù)對(duì)運(yùn)算符進(jìn)行分類。愛(ài)掏網(wǎng) - it200.com它們可以分為3種形式:
- 一元運(yùn)算符: 對(duì)單個(gè)操作數(shù)進(jìn)行操作,例如++,–等。愛(ài)掏網(wǎng) - it200.com
- 二元運(yùn)算符: 對(duì)兩個(gè)操作數(shù)進(jìn)行操作,例如二進(jìn)制+,-,*,/等。愛(ài)掏網(wǎng) - it200.com
- 三元運(yùn)算符: 對(duì)三個(gè)操作數(shù)進(jìn)行操作,例如”?:”。愛(ài)掏網(wǎng) - it200.com
PHP算術(shù)運(yùn)算符用于對(duì)數(shù)字值進(jìn)行常見的算術(shù)操作,如加法、減法等。愛(ài)掏網(wǎng) - it200.com
操作符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
+ |
加法 | $a + $b |
操作數(shù)的和 |
- |
減法 | $a - $b |
操作數(shù)的差 |
* |
乘法 | $a * $b |
操作數(shù)的積 |
/ |
除法 | $a / $b |
操作數(shù)的商 |
% |
取余 | $a % $b |
操作數(shù)的余數(shù) |
** |
冪運(yùn)算 | $a ** $b |
$a 的 $b 次冪 |
PHP 5.6 引入了指數(shù)運(yùn)算符(**
)。愛(ài)掏網(wǎng) - it200.com
賦值運(yùn)算符
賦值運(yùn)算符用于給不同的變量賦值。愛(ài)掏網(wǎng) - it200.com基本賦值運(yùn)算符是”=”。愛(ài)掏網(wǎng) - it200.com
運(yùn)算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
= |
賦值 | $a = $b |
將右操作數(shù)的值賦給左操作數(shù)。愛(ài)掏網(wǎng) - it200.com |
+= |
加后賦值 | $a += $b |
加法,等同于 $a = $a + $b |
-= |
減后賦值 | $a -= $b |
減法,等同于 $a = $a - $b |
*= |
乘后賦值 | $a *= $b |
乘法,等同于 $a = $a * $b |
/= |
除后賦值 (商) | $a /= $b |
計(jì)算商,等同于 $a = $a / $b |
%= |
除后賦值 (余數(shù)) | $a %= $b |
計(jì)算余數(shù),等同于 $a = $a % $b |
位運(yùn)算符
位運(yùn)算符用于對(duì)操作數(shù)執(zhí)行位級(jí)操作。愛(ài)掏網(wǎng) - it200.com這些運(yùn)算符允許在整數(shù)中評(píng)估和操作特定的位。愛(ài)掏網(wǎng) - it200.com
運(yùn)算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
& |
與 | $a & $b |
將$a 和$b 中為1的位設(shè)置為1,否則設(shè)置為0。愛(ài)掏網(wǎng) - it200.com |
| |
或(包括或) | $a | $b |
將$a 和$b 中為1的位設(shè)置為1。愛(ài)掏網(wǎng) - it200.com |
^ |
異或 | $a ^ $b |
將$a 和$b 中為1的位設(shè)置為0。愛(ài)掏網(wǎng) - it200.com |
~ |
非 | ~$a |
將為1的位設(shè)置為0,為0的位設(shè)置為1。愛(ài)掏網(wǎng) - it200.com |
<< |
左移 | $a << $b |
將操作數(shù)$a 的位向左移動(dòng)$b 步。愛(ài)掏網(wǎng) - it200.com |
>> |
右移 | $a >> $b |
將操作數(shù)$a 的位向右移動(dòng)$b 個(gè)位置。愛(ài)掏網(wǎng) - it200.com |
比較運(yùn)算符
比較運(yùn)算符允許比較兩個(gè)值,如數(shù)字或字符串。愛(ài)掏網(wǎng) - it200.com以下是比較運(yùn)算符的列表:
運(yùn)算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
== |
等于 | $a == $b |
如果 $a 等于 $b ,返回 TRUE |
=== |
全等 | $a === $b |
如果 $a 等于 $b ,并且它們的數(shù)據(jù)類型相同,返回 TRUE |
!== |
不全等 | $a !== $b |
如果 $a 不等于 $b ,并且它們的數(shù)據(jù)類型不同,返回 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 |
自增/自減運(yùn)算符
自增和自減運(yùn)算符用于增加和減少變量的值。愛(ài)掏網(wǎng) - it200.com
運(yùn)算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
++ |
增量運(yùn)算符 | ++$a |
將$a 的值加一,然后返回$a 的值 |
$a++ |
返回$a 的值,然后將$a 的值加一 |
||
\-- |
減量運(yùn)算符 | --$a |
將$a 的值減一,然后返回$a 的值 |
$a-- |
返回$a 的值,然后將$a 的值減一 |
邏輯運(yùn)算符
邏輯運(yùn)算符用于對(duì)操作數(shù)進(jìn)行位級(jí)操作。愛(ài)掏網(wǎng) - it200.com這些運(yùn)算符允許在整數(shù)中對(duì)特定位進(jìn)行評(píng)估和操作。愛(ài)掏網(wǎng) - it200.com
運(yùn)算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
and |
與 | $a and $b |
如果$a 和$b 都為真,則返回TRUE |
or |
或 | $a or $b |
如果$a 或$b 為真,則返回TRUE |
xor |
異或 | $a xor $b |
如果$a或$b 有一個(gè)為真但不是全為真,則返回TRUE |
! |
非 | ! $a |
如果$a 不為真,則返回TRUE |
&& |
與 | $a && $b |
如果$a 和$b 都為真,則返回TRUE |
|| |
或 | $a || $b |
如果$a 或$b 為真,則返回TRUE |
字符串運(yùn)算符
字符串運(yùn)算符用于在字符串上執(zhí)行操作。愛(ài)掏網(wǎng) - it200.com在PHP中有兩個(gè)字符串運(yùn)算符,如下所示:
運(yùn)算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
. |
連接 | $a . $b |
將$a 和$b 連接起來(lái) |
.= |
連接并賦值 | $a .= $b |
首先將$a 和$b 連接起來(lái),然后將連接后的字符串賦值給$a ,例如 $a = $a . $b |
數(shù)組運(yùn)算符
在數(shù)組的情況下使用數(shù)組運(yùn)算符。愛(ài)掏網(wǎng) - it200.com基本上,這些運(yùn)算符用于比較數(shù)組的值。愛(ài)掏網(wǎng) - it200.com
運(yùn)算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
+ |
并集 | $a + $y |
$a 和 $b 的并集 |
== |
相等 | $a == $b |
如果 $a 和 $b 有相同的鍵/值對(duì),則返回 TRUE |
!= |
不相等 | $a != $b |
如果 $a 不等于 $b ,則返回 TRUE |
=== |
相同 | $a === $b |
如果 $a 和 $b 有相同的鍵/值對(duì),并且類型和順序也相同,則返回 TRUE |
!== |
非相同 | $a !== $b |
如果 $a 不與 $b 相同,則返回 TRUE |
<> |
不相等 | $a <> $b |
如果 $a 不等于 $b ,則返回 TRUE |
類型運(yùn)算符
類型運(yùn)算符 instanceof 用于判斷一個(gè)對(duì)象、其父類和派生類是否屬于同一類型。愛(ài)掏網(wǎng) - it200.com基本上,該運(yùn)算符確定對(duì)象屬于哪個(gè)特定的類。愛(ài)掏網(wǎng) - it200.com它在面向?qū)ο缶幊讨惺褂谩?b class="xhide">愛(ài)掏網(wǎng) - 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)
執(zhí)行操作符
PHP擁有一個(gè)執(zhí)行操作符 反引號(hào)(``) . PHP將反引號(hào)的內(nèi)容作為shell命令執(zhí)行。愛(ài)掏網(wǎng) - it200.com執(zhí)行操作符和 shell_exec() 得到相同的結(jié)果。愛(ài)掏網(wǎng) - it200.com
運(yùn)算符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
`` | 反引號(hào) | echo `dir`; | 執(zhí)行 shell 命令并返回結(jié)果。愛(ài)掏網(wǎng) - it200.com 這里,它將顯示當(dāng)前文件夾中可用的目錄。愛(ài)掏網(wǎng) - it200.com |
注意:請(qǐng)注意,反引號(hào)(``)不是單引號(hào)。愛(ài)掏網(wǎng) - it200.com
錯(cuò)誤控制運(yùn)算符
PHP有一個(gè)錯(cuò)誤控制運(yùn)算符,即 at (@)
符號(hào) 。愛(ài)掏網(wǎng) - it200.com當(dāng)它與一個(gè)表達(dá)式一起使用時(shí),任何由該表達(dá)式可能生成的錯(cuò)誤消息都將被忽略。愛(ài)掏網(wǎng) - it200.com
操作符 | 名稱 | 示例 | 解釋 |
---|---|---|---|
@ |
at | @file ('non_existent_file') |
故意的文件錯(cuò)誤 |
PHP操作符優(yōu)先級(jí)
讓我們看一下PHP操作符的優(yōu)先級(jí)和結(jié)合性。愛(ài)掏網(wǎng) - it200.com
運(yùn)算符 | 附加信息 | 結(jié)合性 |
---|---|---|
clone new |
克隆和新建 | 非結(jié)合性 |
[ |
array() | 左結(jié)合 |
** |
算術(shù) | 右結(jié)合 |
++ -- ~ (int) (float) (string) (array) (object) (bool) @ |
增量/減量和類型 | 右結(jié)合 |
instanceof |
類型 | 非結(jié)合性 |
! |
邏輯(否定) | 右結(jié)合 |
* / % |
算術(shù) | 左結(jié)合 |
\+ - . |
算術(shù)和字符串連接 | 左 |
<< >> |
位運(yùn)算(移位) | 左 |
< <= > >= |
比較 | 非關(guān)聯(lián) |
== != === !== <> |
比較 | 非關(guān)聯(lián) |
& |
位與 | 左 |
^ |
位異或 | 左 |
| |
位或 | 左 |
&& |
邏輯與 | 左 |
|| |
邏輯或 | 左 |
?: |
三元運(yùn)算 | 左 |
= += -= *= **= /= .= %= &= |= ^= <<= >>= => |
賦值運(yùn)算符 | 右 |
and |
邏輯運(yùn)算符 | 左 |
xor |
邏輯運(yùn)算符 | 左 |
or |
邏輯運(yùn)算符 | 左 |
, |
多種用途(逗號(hào)) | 左 |