PHP 的運算符是編程中非常基礎但又非常重要的一部分,掌握它們能讓你更靈活地處理各種邏輯、計算和流程控制。
算術運算符
用于基本數學運算:
運算符 | 含義 | 示例 |
---|---|---|
+ | 加法 | $a + $b |
- | 減法 | $a - $b |
* | 乘法 | $a * $b |
/ | 除法 | $a / $b |
% | 取模 | $a % $b |
示例:
<?php
$x=10;?
$y=6;
echo?($x+$y);?// 輸出16
echo'<br>'; ?// 換行echo?($x-$y);?// 輸出4
echo'<br>'; ?// 換行echo?($x*$y);?// 輸出60
echo'<br>'; ?// 換行echo?($x/$y);?// 輸出1.6666666666667
echo'<br>'; ?// 換行echo?($x%$y);?// 輸出4
echo'<br>'; ?// 換行$z=-$x;?///直接取負
echo$z;//整數之間的整除,參數也必須是整數,向下取整
var_dump(intdiv(10,?3)); //intdiv向下取整
?>
賦值運算符
賦值運算符是用于給變量賦值的運算符。在編程中,它的作用是將右側的值賦給左側的變量。
中文 | 英文 | 符號 |
---|---|---|
賦值運算符 | assignment operator | = |
加賦值運算符 | addition assignment operator | += |
減賦值運算符 | subtraction assignment operator | -= |
乘賦值運算符 | multiplication assignment operator | *= |
除賦值運算符 | division assignment operator | /= |
取余賦值運算符 | modulo assignment operator | %= |
示例:
<?php
$x=10;?
echo$x;?// 輸出10
echo"<br>";
$y=20;?
$y+=100;
$y=$y+100;
echo$y;?// 輸出120
echo"<br>";$z=50;
$z-=25;
echo$z;?// 輸出25
echo"<br>";$i=5;
$i*=6;
echo$i;?// 輸出30
echo"<br>";$j=10;
$j/=5;
echo$j;?// 輸出2
echo"<br>";$k=15;
$k%=4;
echo$k;?// 輸出3
?>
遞增/遞減運算符
遞增/遞減運算符(Increment / Decrement Operators)?是用來對變量的值進行加一或減一操作的運算符,在很多編程語言(如 C、C++、Java、PHP 等)中都非常常見。
PHP中的遞增/遞減運算符:
<?php
$x=10;?
echo++$x;?// 輸出11$y=10;?
echo$y++;?// 輸出10$z=5;
echo--$z;?// 輸出4$i=5;
echo$i--;?// 輸出5
?>
比較運算符
比較運算符用于比較兩個值的關系,并返回一個布爾值(true
?或?false
)。通常在?if
、while
、for
?等條件語句中使用,用來判斷某個條件是否成立。
運算符 | 含義 | 示例 | 結果 |
---|---|---|---|
== | 等于(值相等) | 5 == '5' | true (類型不比較) |
=== | 全等(值和類型都相等) | 5 === '5' | false (類型不同) |
!= ?或?<> | 不等(值不相等) | 5 != '6' | true |
!== | 不全等(值或類型不相等) | 5 !== '5' | true |
> | 大于 | 6 > 5 | true |
< | 小于 | 4 < 5 | true |
>= | 大于等于 | 5 >= 5 | true |
<= | 小于等于 | 4 <= 5 | true |
<?php
$x=100;?
$y="100";var_dump($x==$y); ?//bool(true)
echo"<br>";
var_dump($x===$y);?//bool(false)
echo"<br>";
var_dump($x!=$y);?//bool(false)
echo"<br>";
var_dump($x!==$y);?//bool(true)
echo"<br>";$a=50;
$b=90;var_dump($a>$b);?//bool(false)
echo"<br>";
var_dump($a<$b);?//bool(true)
?>
邏輯運算符
邏輯運算符用于對?多個條件進行組合判斷,返回布爾值?true
?或?false
。
例如:
-
想判斷用戶的年齡?大于18 且 是會員
-
想判斷用戶的賬戶余額?為0 或 被封禁
這時候就要用到邏輯運算符。
運算符 | 名稱 | 功能描述 | 示例 |
---|---|---|---|
&& | 邏輯與 | 如果兩個操作數都為?true ,則返回?true | $a && $b |
and | 邏輯與 | 同?&& ,但優先級較低 | $a = true and false; |
|| | 邏輯或 | 如果兩個操作數有一個為?true ,則返回?true | $a || $b |
or | 邏輯或 | 同 || | $a = true or false; |
! | 邏輯非 | 取反操作:true ?變?false ,false ?變?true | !$a |
xor | 邏輯異或 | 兩個操作數只有一個為?true ?時返回?true | $a xor $b |
and 和 && 的區別, or 和 || 的區別
主要體現在優先級:?
-
&& ?運算符的優先級比 ?and ?運算符高。?
-
這意味著,在一個表達式中, && ?運算符會先被執行,然后才是 ?and ?運算符。?
<?php
// 在表達式中使用&&運算符
$bool=true&&false;?// 顯示&&運算符的運算結果
echo"&&運算符的結果為:";
if($bool){echo'true';
}
else{echo'false';
}echo'----';
// 在表達式中使用and運算符
$bool=trueandfalse;?
// 顯示and運算符的運算結果
echo"and運算符的結果為:";
if($bool){echo'true';
}
else{echo'false';
}
?>
阻斷效果
or-前面語句值為真,or后面不執行;否則,執行
$result=0orvar_dump('執行我的語句'); ?//輸出-執行我的語句
var_dump($result); ?//int 0
$result=2orvar_dump('執行我的語句'); ?//不輸出
var_dump($result); ?//int 2
總結
運算符雖然只是 PHP 中最基礎的一部分,但卻無處不在、至關重要。理解它們的工作方式,是成為一個合格 PHP 開發者的第一步。如果你覺得文章有幫助,不妨收藏或轉發一下,我們下次再見!