首頁  >  文章  >  後端開發  >  PHP學習之PHP表達式_PHP教程

PHP學習之PHP表達式_PHP教程

WBOY
WBOY原創
2016-07-21 16:04:22828瀏覽

PHP表達式

  表達式是PHP最重要的組成元素。在PHP 3.0,幾乎你所寫的任何東西都是表達式。表達式的最簡單但精確的定義是"有一個值的任何東西"。    一個簡單的例子是常數和變數。
當你寫 "$a = 5", 你給 $a 賦了值 '5' 。 (在這種情況下, '5' 是一個整形常數)。 在此,你是希望把 $a 賦值成 5。所以寫 $b = $a 時,你希望的結果就是 $b = 5 。即 $a 是一個值為 5 的表達式。   複雜表達式的簡單例子是函數。
比方說,考慮以下函數:    function foo()     {      return 5;     }   return 5;     }   return 5;     }   re 5;     } 則是對 $.5) 寫的函數是值為其傳回值的表達式。因為foo() 回傳5, 所以表達式 'foo()'的值是 5 。   
PHP的值當然不限於整形,且通常都不是。 PHP支援三類值的型別: 整形值,浮點值和字串值。 PHP 支援兩種混合類型(non-scalar): 陣列和物件。這兩種類型的值可以賦給變數或從函數中返回。   
PHP 3是一種面向表達式的語言, 所以幾乎所有東西都是表達式。
考慮我們已經討論的例子, '$a = 5'。很容易看出這裡有兩個值,整形常數 '5'的值,和也被賦為 5 的變數 $a 的值。但這裡實際上還有一個附加的值,就是賦值語句本身的值。
賦值語句本身的值就是被賦給的值,本例中是 5. 事實上,它意味著不考慮 '$a = 5'要做什麼,它是一個值為 5 的表達式。這樣,寫諸如 '$b = ($a = 5)'的語句,就像 '$a = 5; $b = 5;' (每條語句末尾有一個分號)。因為賦值的順序是從右向左的你也可以寫成 '$b = $a = 5'。   

   表達式計算方向的另一個好例子是先加、後加及先減、後減。 PHP/FI和其他大多數語言的使用者可能很熟悉 variable 和 variable--。這是自加和自減操作。在 PHP/FI 2 中,語句 '$a ' 沒有值(它不是表達式), 這樣你就既不能賦值給它也不能透過任何辦法使用它。 PHP 3 把它們變成了和 C 一樣的表達式從而增強了自加和自減運算的能力。
和 C 中類似,PHP 3中也有兩種類型的自加----先加和後加。先加和後加的本質都是變數自加,對變數本身的作用是一樣的。不同點是自加表達式的值。形如' $variable'的先加, 計算變數自加後的值(PHP先做變數自加,再讀取它的值,也就叫做'先加').形如'$variable '的後加, 則先計算原始變數$variable的值,然後才進行自加(PHP在讀取變數的值後再做自加,因此叫做'後加').   
最常見的表達式是比較表達式。這種表達式計算結果是 0 或 1,分別意味著 FALSE 或是 TRUE。
PHP 支持 > (大於), >= (大於等於), == (等於),   在這裡我們最後要討論的表達式是混合賦值表達式。你已經知道如果要使 $a 加一,你可以簡單的寫一句 '$a ' 或 ' $a'。但是如果要增加的值比1大怎麼辦呢,例如使它加 3 ? 你可以多寫幾次'$a ' ,但這 顯然不是一種高效或令人樂於接受的辦法。另外一個通常的方法是寫 '$a = $a 3'。先計算'$a 3' 的值,在賦回 $a, 這樣 $a 就加上 3 了。在PHP 3 中,你可以像在其他幾種語言(例如 C)一樣把它簡稱,這樣更清晰、快潔易懂。 把目前變數 $a 加 3 可以寫成 '$a = 3'。這句話的意思是 "取出 $a 的值, 把它加 3 , 在賦給 $a"。這除了使得語句簡短、清晰,還使它執行的更快。表達式 '$a = 3'的值,和一個嚴格的賦值語句一樣,是所賦的值。注意:不是 3, 而是 $a 加 3 的值(這才是賦給$a 的)。任何的雙運算子可以被用於這種賦值運算模式,例如'$a -= 5' (變數$a 減去5 ), '$b *= 7' ( 變數$b 乘以7),等等。   
   最後值得提到的是表達式的真值。很多時候(主要是在條件執行和循環時),你並不關心表達式的特定值 , 而只是注意它代表TRUE 還是 FALSE (PHP 沒有專用的布林類型)。 PHP中使用類似perl的方法計算表達式的真值。任何非零的值為 TRUE,零為 FALSE 。請一定注意負零的值是非零值,被視為 TRUE ! 空字串可 字串 "0" 為 FALSE; 所其他的字串為 TRUE 。對於非數量值(數組和物件) - 如果它的值不含任何元素為 FALSE, 否則為 TRUE。


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/315992.htmlTechArticlePHP表達式是PHP最重要的組成元素。在PHP 3.0,幾乎你所寫的任何東西都是表達式。表達式的最簡單但精確的定義是有一個值的任何東...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn