PHP中的表達式與運算符列表:
符 號 運算符 范 例
+ 加法 $a+$b
- 減法 $a-$b
* 乘法 $a*$b
/ 除法 $a/$b
% 取余數 $a%$b
++ 遞增 $a++或++$a
-- 遞減 $a--或--$a
== 等於 $a==10
=== 絕等於 $a===10
!= 不等於 $a!=10
< 小於 $a<9
> 大於 $a>8
<= 小於等於 $a<=10
>= 大於等於 $a>=1
= 相等賦值運算符 $a=0
+= 加法指定運算符 $a+=5
-= 減法指定運算符 $a-=1
*= 乘法指定運算符 $a*=2
/= 除法指定運算符 $a/=5
%= 余數指定運算符 $a%=7
.= 字符串指定運算符 $a.="hello"
& 與 $a&$
| 或 $a|$b
^ Xor $a^$b
~ 非 ~$a(取1的補碼 )
<< 向左移位 $a<<$b
>> 向右移位 $a>>$b
and或&& 與 $a and $b或$a&&$b
or或|| 或 $a or $b或$a||$b
xor Xor $a xor $b
! 非 !$a
符號 意義說明
$ 變量
& 變量的指針(加在變量前)
-> 對象的方法或屬性
=> 數組的元素值
? : 三元運算符
同C語言的比較一下吧。其中只是多了個“.”這一個運算符。它的作用是使兩個字符串相連,如下例,顯示結果為hello,my baby.
<?php
$a="hello,";
$b="my baby.";
echo $a.$b;
?>
還有一個符號也使PHP的功能強大了。這就是“$”。它是用於變量之前的,表示這是個變量,如$A,$b等。那它的作用又強在哪呢?這崐就是變量的變量。
如下例:
<?php
$a="go";
$$a="here";
echo $a;
echo $$a;
echo $go;
?>
顯示結果為:
go
here
here
其實,在一個變量前加一個“$”,就是把這個變量的內容作為了一個新的變量名。這是PHP所特有的,有時可使程序簡單化。
下面表格從高到低列出了php運算符的優先級。同一行中的運算符具有相同的優先級,此時它們的結合方向決定求值順序。
表格 運算符優先級
結合方向
運算符
附加信息
非結合
new
new
左
[
array()
非結合
++ –
遞增/遞減運算符
非結合
! ~ - (int) (float) (string) (array) (object) @
類型
左
* / %
算數運算符
左
+ - .
算數運算符和字符串運算符
左
<< >>
位運算符
非結合
< <= > >=
比較運算符
非結合
== != === !==
比較運算符
左
&
位運算符和引用
左
^
位運算符
左
|
位運算符
左
&&
邏輯運算符
左
||
邏輯運算符
左
? :
三元運算符
右
= += -= *= /= .= %= &= |= ^= <<= >>=
賦值運算符
左
and
邏輯運算符
左
xor
邏輯運算符
左
or
邏輯運算符
左
,
多處用到
左聯表示表達式從左向右求值,右聯相反。
注: 盡管 ! 比 = 的優先級高,php 仍舊允許類似如下的表達式if (!$a = foo()),在此例中 foo() 的輸出被賦給了 $a。