- 變數 (variable)
- 字面常數 (literal)
運算式會計算出一個結果,這結果會是一個數值 (value) ,凡是數值都具有型態 (type) 。
運算式細分的種類有非常多,我們主要介紹由運算子與運算元組成的幾種。
以下程式示範由字面常數組成的運算式
<?php
if (True) {
echo "Hello world!";
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:e01.php
功能:示範 PHP 程式
作者:張凱慶
時間:西元 2013 年 2 月 */
?>執行結果如下

第 2 行
if (True) {if 陳述 (statement) 後的小括弧為條件 (condition) ,須為計算結果為 True 或 False 運算式,這裡直接以字面常數 True 代入。 if 同英文字義,如果為真,就會執行底下大括弧的陳述。
True 意義為邏輯上的「真」,另一個字面常數 False 則為邏輯上的「假」,實際上非 0 的值都會得到 True ,運算式結果為 0 會得到 False 。因此這一行可以改成
if (1) {這會得到相同的執行結果,也就是印出字串 "Hello orld!" 。
由運算子與運算元所組成的運算式,會依結合規則及優先次序進行計算,全部運算子如下列表
| clone new |
| [ |
| ++ -- ~ (int) (float) (string) (array) (object) (bool) @ |
| instanceof |
| ! |
| * / % |
| + - . |
| << >> |
| < <= > >= |
| == != === !== <> |
| & |
| ^ |
| | |
| && |
| || |
| ? : |
| = += -= *= /= .= %= &= |= ^= <<= >>= => |
| and |
| xor |
| or |
| , |
小括弧具有最高的優先權,因此當運算式中任何部份需要先計算時,可以直接用小括號圍起來,無須考量運算子的優先次序。如以下程式
<?php
echo 12 + 2 * 8 . "\n";
echo 12 + (2 * 8) . "\n";
echo (12 + 2) * 8;
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:e02.php
功能:示範 PHP 程式
作者:張凱慶
時間:西元 2013 年 2 月 */
?>執行結果如下

第 4 行
print((12 + 2) * 8)
算術運算子的計算優先次序跟手算一樣,先乘除後加減,因此 12 + 2 被小括弧圍起來,這部份會先被計算出來,然後結果 14 才乘以 8 。
| 中英文術語對照 | |
|---|---|
| 運算式 | expression |
| 運算元 | operand |
| 運算子 | operator |
| 變數 | variable |
| 字面常數 | literal |
| 數值 | value |
| 型態 | type |
| 陳述 | statement |
| 條件 | condition |
您可以繼續參考
運算式
相關目錄
回 PHP 快速導覽
回 PHP 教材
回首頁
參考資料
http://www.php.net/manual/en/language.expressions.php
沒有留言:
張貼留言