PHP學習之PHP表示式

2021-04-17 08:01:20 字數 2221 閱讀 8897

php

表示式表示式是

php最重要的組成元素。在

php 3.0中,幾乎你所寫的任何東西都是表示式。表示式的最簡單但精確的定義是"有乙個值的任何東西"。    乙個簡單的例子是常量和變數。

當你寫 "$a = 5"時, 你給 $a 賦了值 '5' 。 (在這種情況下, '5' 是乙個整形常量)。 在此,你是希望把 $a 賦值成 5。所以寫 $b = $a 時,你希望的結果就是 $b = 5 。即 $a 是乙個值為 5 的表示式。   複雜表示式的簡單例子是函式。

比如說,考慮以下函式:    function foo()        

如果你認為寫$c = foo()實際上和寫 $c = 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 支援 > (大於), >= (大於等於), == (等於), < (小於) 及 <= (小於等於)。這種表示式通常用在條件執行裡 , 例如 if 語句。   

在這裡我們最後要討論的表示式是混合賦值表示式。你已經知道如果要使 $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。

PHP學習筆記之正規表示式

最近開始正式學習php,由於剛入門,之前零零散散的在網上搜尋,對php正規表示式這一塊的內容沒有乙個系統的認識,所以現在做一下小小的總結,我看的書是 php和mysql web開發 原書第四版 很厚一本,趁著寒假讀完吧。字符集可以用於匹配屬於特定型別的任何字元 事實上是一種萬用字元。例如 at可以與...

PHP之正規表示式

pattern 正規表示式 subject 正規表示式匹配的資料 preg match all pattern,subject,matches 匹配第乙個符合的 preg match 0 9 sdad456dsad5dsa4dsad4e4d e5s8 show1 匹配所有符合標準的 preg mat...

php正規表示式詳解,PHP正規表示式使用詳解

操作符 描述 轉義符 圓括號和方括號 限定符 anymetacharacter 位置和順序 或 操作 全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開...