第 10章演算子

目次
演算子の優先順位
代数演算子
代入演算子
ビット演算子
比較演算子
エラー制御演算子
実行演算子
加算子/減算子
論理演算子
文字列演算子
配列演算子

演算子の優先順位

演算子の優先順位は、二つの式が"緊密に"結合している度合いを指定します。 例えば、式 1 + 5 * 3 の答えは 16になり、18とはなりません。 これは乗算演算子("*")は、加算演算子("+")より高い優先順位を有するか らです。必要に応じて強制的に優先順位を設定するために括弧を使用する ことが可能です。例えば、18と評価するためには、 (1 + 5) * 3 とします。

次の表に示すリストは優先順位が最低ものから並べた演算子の優先順位です。

表 10-1. 演算子の優先順位

結合時の評価演算子
,
or
xor
and
print
= += -= *= /= .= %= &= |= ^= ~= <<= >>=
? :
||
&&
|
^
&
結合しない== != === !==
結合しない< <= > >=
<< >>
+ - .
* / %
! ~ ++ -- (int) (double) (string) (array) (object) @
[
結合しないnew

注意: !=よりも優先されるはずなの にもかかわらず、PHPは依然としてif (!$a = foo()) のような式も許します。この場合はfoo()の出力が $aに代入されます。