
日期:2008-08-04 作者:喜騰小二 來源:喜騰網 培訓中心
PHP 邏輯處理是最常應用的功能,但是很多時候會造成邏輯過多而結構復雜維護困難,這裡我們將講解如何制作簡單易用的程式。
白話解釋:邏輯處理就是所謂的條件判斷,例如程式中常用的if、else、elseif等
為什麼要提供這樣的處理,可以用在什麼地方?
邏輯處理應用最常見的例如註冊用戶、使用者登入、個人資料修改等
運算元是可以透過給出的一或多個值(用編程行話來說,運算式)來產生另一個值(因而整個結構成為一個運算式)的東西。所以可以認為函式或任何會返回一個值(例如
print)的結構是運算元,而那些沒有返回值的(例如 echo)是別的東西。
有三種類型的運算元。第一種是一元運算元,隻運算一個值,例如 !(取反運算元)或
++(加一運算元)。第二種是有限二元運算元,PHP 支援的大多數運算元都是這種。清單見下節運算元優先順序。
第三種是三元運算元:?:。它應該被用來根據一個運算式在另兩個運算式中選擇一個,而不是用來在兩個陳述式或者程式路線中選擇。把整個三元運算式放在擴號裡是個很好的主意。
運算元優先順序
| 結合方嚮 | 運算元 | 附加資訊 |
|---|---|---|
| 非結合 | new | new |
| 左 | [ | array() |
| 非結合 | ++ -- | 遞增/遞減運算元 |
| 非結合 | ! ~ - (int) (float) (string) (array) (object) @ |
類型 |
| 左 | * / % | 算數運算元 |
| 左 | + - . | 算數運算元和字串運算元 |
| 左 | << >> | 位運算元 |
| 非結合 | < <= > >= | 比較運算元 |
| 非結合 | == != === !== | 比較運算元 |
| 左 | & | 位運算元和引用 |
| 左 | ^ | 位運算元 |
| 左 | | | 位運算元 |
| 左 | && | 邏輯運算元 |
| 左 | || | 邏輯運算元 |
| 左 | ? : | 三元運算元 |
| 右 | = += -= *= /= .= %= &= |= ^= <<= >>= |
賦值運算元 |
| 左 | and | 邏輯運算元 |
| 左 | xor | 邏輯運算元 |
| 左 | or | 邏輯運算元 |
| 左 | , | 多處用到 |
算術運算元
| 例子 | 名稱 | 結果 |
|---|---|---|
| -$a | 取反 | $a 的負值。 |
| $a + $b | 加法 | $a 和 $b 的和。 |
| $a - $b | 減法 | $a 和 $b 的差。 |
| $a * $b | 乘法 | $a 和 $b 的積。 |
| $a / $b | 除法 | $a 除以 $b 的商。 |
| $a % $b | 取模 | $a 除以 $b 的餘數。 |
除號(“/”)總是返回浮點數,即使兩個運算數是整數(或由字串轉換成的整數)也是這樣。
賦值運算元
基本的賦值運算元是“=”。一開始可能會以為它是“等於”,其實不是的。它實際上意味着把右邊運算式的值賦給左邊的運算數。
這裡提供一個最簡單的應用:
| 例子 | 名稱 | 結果 |
|---|---|---|
| $a == $b | 等於 | TRUE,如果 $a 等於 $b。 |
| $a === $b | 全等 | TRUE,如果 $a 等於 $b,並且它們的類型也相同。(PHP 4 引進) |
| $a != $b | 不等 | TRUE,如果 $a 不等於 $b。 |
| $a <> $b | 不等 | TRUE,如果 $a 不等於 $b。 |
| $a !== $b | 非全等 | TRUE,如果 $a 不等於 $b,或者它們的類型不同。(PHP 4 引進) |
| $a < $b | 小與 | TRUE,如果 $a 嚴格小於 $b。 |
| $a > $b | 大於 | TRUE,如果 $a 嚴格 $b。 |
| $a <= $b | 小於等於 | TRUE,如果 $a 小於或者等於 $b。 |
| $a >= $b | 大於等於 | TRUE,如果 $a 大於或者等於 $b。 |
如果比較一個整數和字串,則字串會被轉換為整數。如果比較兩個數字字串,則作為整數比較。此規則也適用於
switch 陳述式。
提供簡單的範例:
遞增/遞減運算元
| 例子 | 名稱 | 效果 |
|---|---|---|
| ++$a | 前加 | $a 的值加一,然後返回 $a。 |
| $a++ | 後加 | 返回 $a,然後將 $a 的值加一。 |
| --$a | 前減 | $a 的值減一, 然後返回 $a。 |
| $a-- | 後減 | 返回 $a,然後將 $a 的值減一。 |
一個簡單的範例指令檔:
| 例子 | 名稱 | 結果 |
|---|---|---|
| $a + $b | 聯合 | $a 和 $b 的聯合。 |
| $a == $b | 相等 | 如果 $a 和 $b 俱有相同的鍵/值對則為 TRUE。 |
| $a === $b | 全等 | 如果 $a 和 $b 俱有相同的鍵/值對並且順序和類型都相同則為 TRUE。 |
| $a != $b | 不等 | 如果 $a 不等於 $b 則為 TRUE。 |
| $a <> $b | 不等 | 如果 $a 不等於 $b 則為 TRUE。 |
| $a !== $b | 不全等 | 如果 $a 不全等於 $b 則為 TRUE。 |
+ 運算元把右邊的陣列附加到左邊的陣列後麵,但是重複的鍵值不會被覆蓋。
一個簡單的範例指令檔:
列印結果:
組合變數 $a 與 $b: |