PHP 運算符集源自 C 語言,按功能分六大類,掌握優先級與結合性是寫出正確表達式的關鍵。
+ - * / % ++ --
僅 .(點號)串接字串,隱式轉換數值為字串:
$a = 'dawanganban'; $b = 123;
echo $a . $b; // 輸出 dawanganban123
= += -= *= /= %= .=
$a = 'dawanganban';
$a .= 1; $a .= 2; $a .= 3;
echo $a; // dawanganban123
& | ~ ^ << >>(位元 AND/OR/NOT/XOR/左移/右移)
> < >= <= == != <> === !==
<> 等同 !==== 全等(值與型別皆同)!== 不全等var_dump(5 == '5'); // true (弱型別轉換)
var_dump(5 === '5'); // false (型別不同)
AND OR XOR && || !
注意:AND/OR 優先級低於 =,&&/|| 優先級較高,實務建議統一使用 &&/|| 並善用括號明確意圖。
var_dump(5 && 0); // false
var_dump(5 && 2); // true
var_dump(0 || 0); // false
var_dump(0 xor 1); // true
var_dump(1 xor 1); // false
clone new++ -- ~ (int) (float) (string) (array) (object) (bool) @instanceof! * / %+ - .<< >>< <= > >=== != === !== <>&^|&&||? := += -= *= /= %= .=ANDXOROR,完整優先級表請參考 PHP 官方文檔。