第四課 PHP的邏輯處理

日期: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 的餘數。

除號(“/”)總是返回浮點數,即使兩個運算數是整數(或由字符串轉換成的整數)也是這樣。

賦值運算符
基本的賦值運算符是“=”。一開始可能會以為它是“等於”,其實不是的。它實際上意味着把右邊表達式的值賦給左邊的運算數。

這裡提供一個最簡單的應用:

  1. <?php  
  2. $b 4;  
  3. <br />  
  4. $a $b 5// $a 為 9,而 $b 為 4  
  5. echo $a;    //打印變量$a  
  6. ?>


在基本賦值運算符之外,還有適合於所有二元算術,數組集合和字符串運算符的“組合運算符”,這樣可以在一個表達式中使用它的值並把表達式的結果賦給它,例如:

  1. <?php  
  2. $a 3;  
  3. $a += 5// 累加後$a 結果為 8, 同樣與 $a = $a + 5 相同;  
  4. echo $a;  
  5. echo '';  
  6. $b "Hello ";  
  7. $b .= "There!"; // 打印結果為 "Hello There!", 同樣與 $b = $b . "There!" 相同;  
  8. echo $b;</p>  
  9. <p>  
  10. ?>


注意:賦值運算將原變量的值拷貝到新變量中(傳值賦值),所以改變其中一個並不影響另一個。這也適合於在很密集的循環中拷貝一些值例如大數組。自 PHP 4
起支持引用賦值,用 $var = &$othervar; 語法,但在 PHP 3
中不可能這樣做。引用賦值意味着兩個變量都指嚮同一個數據,沒有任何數據的拷貝。

比較運算符
 
例子 名稱 結果
$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 語句。

提供簡單的示例:
  1. <?php  
  2. $a 1;  
  3. $b 5  
  4. if($a<$b){  
  5.    echo '變量$a小於變量$b';  
  6. }<p>$c 5;  
  7. //判斷變量相等的時候要用雙等號  
  8. if($c==$b){  
  9.    echo '變量$c等於變量$b';  
  10. }  
  11. $d 8;  
  12. if($d<$b){  
  13.    echo '變量$d小於變量$b';  
  14. }else{  
  15.    echo '變量$d大於變量$b';  
  16. }  
  17. ?>



錯誤控制運算符
PHP 支持一個錯誤控制運算符:@。當某些程序會產生意外的錯誤時可以將@防止在應用前時任何錯誤信息都被忽略掉。

提供簡單的示例:

  1. <?php  
  2. /* 忽略file函數錯誤 */  
  3. $my_file = @file ('non_existent_file') or die ("沒有找到打開的文件");  
  4. // 如果這個數組的變量不存在可以忽略掉錯誤信息  
  5. $value = @$cache[$key];  
  6. ?>


遞增/遞減運算符
 

例子 名稱 效果
++$a 前加 $a 的值加一,然後返回 $a。
$a++ 後加 返回 $a,然後將 $a 的值加一。
--$a 前減 $a 的值減一, 然後返回 $a。
$a-- 後減 返回 $a,然後將 $a 的值減一。

一個簡單的示例腳本:

  1. <?php  
  2. echo '<h3>示例1</h3>';  
  3. $a 5;  
  4. echo '結果為 5: ' $a++ . '';  
  5. echo '結果為 6: ' $a '';  
  6. <br />  
  7. echo '<h3>示例2</h3>';  
  8. $a 5;  
  9. echo '結果為 6: ' . ++$a '';  
  10. echo '結果為 6: ' $a '';  
  11. <br />  
  12. echo '<h3>示例3</h3>';  
  13. $a 5;  
  14. echo '結果為 5: ' $a-- . '';  
  15. echo '結果為 4: ' $a '';  
  16. <br />  
  17. echo '<h3>示例4</h3>';  
  18. $a 5;  
  19. echo '結果為 4: ' . --$a '';  
  20. echo '結果為 4: ' $a '';  
  21. ?>




數組運算符

例子 名稱 結果
$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

+ 運算符把右邊的數組附加到左邊的數組後麵,但是重復的鍵值不會被覆蓋。

一個簡單的示例腳本:

  1. <?php  
  2. $a = array("a" => "apple", "b" => "banana");  
  3. $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");  
  4. $c = $a + $b; // 組合變量 $a 與 $b  
  5. echo '<pre>組合變量 $a 與 $b:';  
  6. var_dump($c);  
  7. $c = $b + $a; // 組合變量 $b 與 $a  
  8. echo '組合變量 $b 與 $a:';  
  9. var_dump($c);  
  10. $c = $b + $a; // 組合變量 $b 與 $a  
  11. echo '組合變量 $b 與 $a:';  
  12. var_dump($c);  
  13. ?>

打印結果:

組合變量 $a 與 $b:
array(3) {
["a"]=> string(5) "apple"
["b"]=> string(6) "banana"
["c"]=> string(6) "cherry"
}

組合變量 $b 與 $a:
array(3) {
["a"]=> string(4) "pear"
["b"]=> string(10) "strawberry"
["c"]=> string(6) "cherry"
}

技術考試

上一篇

下一篇

喜騰培訓

站內新聞

我要啦免费统计