国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

PHP基礎(chǔ)之表達式

瀏覽:78日期:2022-09-14 14:13:56

表達式是 PHP 最重要的基石。在 PHP 中,幾乎所寫的任何東西都是一個表達式。簡單但卻最精確的定義一個表達式的方式就是“任何有值的東西”。

最基本的表達式形式是常量和變量。當(dāng)鍵入“$a = 5”,即將值“5”分配給變量 $a。“5”,很明顯,其值為 5,換句話說“5”是一個值為 5 的表達式(在這里,“5”是一個整型常量)。

賦值之后,所期待情況是 $a 的值為 5,因而如果寫下 $b = $a,期望的是它猶如 $b = 5 一樣。換句話說,$a 也是一個值為 5 的表達式。如果一切運行正確,那這正是將要發(fā)生的正確結(jié)果。

稍微復(fù)雜的表達式例子就是函數(shù)。例如,考慮下面的函數(shù):

<?phpfunction foo (){return 5;}?>

假定已經(jīng)熟悉了函數(shù)的概念,那么鍵入 $c = foo() 從本質(zhì)上來說就如寫下 $c = 5,這沒錯。函數(shù)也是表達式,表達式的值即為它們的返回值。既然 foo() 返回 5,表達式“foo()”的值也是 5。通常函數(shù)不會僅僅返回一個靜態(tài)值,而可能會計算一些東西。

當(dāng)然,PHP 中的值常常并非是整型的。PHP 支持四種標量值(標量值不能拆分為更小的單元,例如和數(shù)組不同)類型:整型值(integer),浮點數(shù)值(float),字符串值(string)和布爾值(boolean)。PHP 也支持兩種復(fù)合類型:數(shù)組和對象。這兩種類型具可以賦值給變量或者從函數(shù)返回。

PHP 和其它語言一樣在表達式的道路上發(fā)展,但推進得更深遠。PHP 是一種面向表達式的語言,從這一方面來講幾乎一切都是表達式。考慮剛才已經(jīng)研究過的例子,“$a = 5”。很顯然這里涉及到兩個值,整型常量“5”的值以及變量 $a 的值,它也被更新為 5。但是事實是這里還涉及到一個額外的值,即附值語句本身的值。賦值語句本身求值為被賦的值,即 5。實際上這意味著“$a = 5”,不必管它是做什么的,是一個值為 5 的表達式。因而,這樣寫“$b = ($a = 5)”和這樣寫“$a = 5; $b = 5”(分號標志著語句的結(jié)束)是一樣的。因為賦值操作的順序是由右到左的,也可以這么寫“$b = $a = 5”。

另外一個很好的面向表達式的例子就是前、后遞增和遞減。PHP 和多數(shù)其它語言的用戶應(yīng)該比較熟悉 variable++ 和 variable-- 符號。即遞增和遞減運算符。在 PHP 中,和 C 語言一樣,有兩種類型的遞增——前遞增和后遞增,本質(zhì)上來講,前遞增和后遞增均增加了變量的值,并且對于變量的影響是相同的,不同的是遞增表達式的值。前遞增,寫做“++$variable”,求增加后的值(PHP 在讀取變量的值之前,增加變量的值,因而稱之為“前遞增”)。后遞增,寫做“$variable++”,求變量未遞增之前的原始值(PHP 在讀取變量的值之后,增加變量的值,因而叫做“后遞增”)。

一個常用到表達式類型是比較表達式。這些表達式求值為 FALSETRUE。PHP 支持 >(大于),>=(大于等于),==(等于),!=(不等于),<(小于)和 <=(小于等于)。PHP 還支持全等運算符 ===(值和類型均相同)和非全等運算符 !==(值或者類型不同)。這些表達式都常用于條件判斷語句中,比如,if 語句。

這里,將要研究的最后一個例子是組合的運算賦值表達式。已經(jīng)知道如果想要為變量 $a 加 1,可以簡單的寫“$a++”或者“++$a”。但是如果想為變量增加大于 1 的值,比如 3,該怎么做?可以多次寫“$a++”,但這樣明顯不是一種高效舒適的方法,一個更加通用的做法是“$a = $a + 3”。“$a + 3”等值于 $a 加上 3 的值,并且得到的值重新賦予變量$a,于是 $a 的值增加了3。在 PHP 及其它幾種語言例如 C 中,可以以一種更加簡短的形式完成上述功能,因而也更加清楚快捷。為 $a 的當(dāng)前值加 3,可以這樣寫:“$a += 3”。這里的意思是“取變量 $a 的值,加 3,得到的結(jié)果再次分配給變量 $a”。除了更簡略和清楚外,也可以更快的運行。“$a += 3”的值,如同一個正常賦值操作的值,是賦值后的值。注意它不是 3,而是 $a 的值加上3 之后的值(此值將被賦給 $a)。任何二元運算符都可以用運算賦值模式,例如“$a -= 5”(從變量 $a 的值中減去 5),“$b *= 7”(變量 $b 乘以 7),等等。

還有一個表達式,如果沒有在別的語言中看到過的話,可能看上去很奇怪,即三元條件運算符:

<?php$first ? $second : $third?>

如果第一個子表達式的值是 TRUE(非零),那么第二個子表達式被求值,其值即為整個條件表達式的值。否則,第三個子表達式將被求值并且其值成為整個表達式的值。

下面的例子一般來說應(yīng)該有助于理解前、后遞增和表達式:

<?phpfunction double($i){return $i*2;}$b = $a = 5;/* assign the value five into the variable $a and $b */$c = $a++; /* post-increment, assign original value of $a(5) to $c */$e = $d = ++$b; /* pre-increment, assign the incremented value of$b (6) to $d and $e */

/* at this point, both $d and $e are equal to 6 */

$f = double($d++); /* assign twice the value of $d beforethe increment, 2*6 = 12 to $f */$g = double(++$e); /* assign twice the value of $e afterthe increment, 2*7 = 14 to $g */$h = $g += 10; /* first, $g is incremented by 10 and ends with thevalue of 24. the value of the assignment (24) isthen assigned into $h, and $h ends with the valueof 24 as well. */?>

一些表達式可以被當(dāng)成語句。這時,一條語句的形式是 expr ;,即一個表達式加一個分號結(jié)尾。在 ’$b = $a = 5;’ 中,’$a = 5’ 是一個有效的表達式,但它本身不是一條語句。而 ’$b = $a = 5;’ 則是一條有效的語句。

最后一件值得提起的事情就是表達式的真值。在許多事件中,大體上主要是在條件執(zhí)行和循環(huán)中,并不關(guān)心表達式中具體的值,而是只關(guān)心表達式的值是否是 TRUE 或者FALSE。常量 TRUEFALSE(大小寫無關(guān))是兩種可能的布爾值。在必要時,一個表達式將自動轉(zhuǎn)換為布爾值。

標簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 日韩精品免费一级视频 | 国产香蕉98碰碰久久人人 | 久久久久久久99精品免费 | 最近最新中文字幕免费的一页 | 国产91精选在线观看网站 | xx欧美老妇 | 亚洲三级网 | 亚洲精品国产第一区二区三区 | 欧美日本综合一区二区三区 | 孕妇一级片 | 欧美另类69xxxxx极品 | 亚洲国产成人久久综合一区77 | 国产亚洲小视频 | 久久免费精品视频 | 性做久久久久久免费观看 | 欧美精品亚洲精品日韩专区 | 黄色一级网址 | 精品国产成人高清在线 | 黄网在线观看免费网站台湾swag | 伊人2222| 久久se精品一区精品二区 | 国内自拍网 | 在线观看一级毛片 | 欧美xx一片 | 麻豆日韩 | 8050网午夜一级毛片免费不卡 | 亚洲欧美综合网 | 欧美一区二区精品 | 日本68xxxxxxxxx老师 | 成年女人看片免费视频播放器 | 亚洲视频中文字幕 | 曰本女同互慰高清在线观看 | 91精品免费看 | 久久精品国产欧美日韩99热 | 国产精品一区二区久久精品涩爱 | 香蕉网站狼人久久五月亭亭 | 日韩亚洲国产综合久久久 | 伊人久久大香线焦综合四虎 | 欧美性三级 | 精品国产一区二区三区不卡 | 欧美一区二区在线观看免费网站 |