版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目二
PHP語(yǔ)言基礎(chǔ)學(xué)習(xí)目標(biāo)1、掌握PHP標(biāo)記風(fēng)格、注釋、關(guān)鍵字及標(biāo)識(shí)符規(guī)則2、掌握PHP數(shù)據(jù)類型、運(yùn)算符及表達(dá)式的運(yùn)用2、掌握PHP常量與變量的定義與使用4、掌握PHP函數(shù)與數(shù)組的定義與使用2.1PHP語(yǔ)法基礎(chǔ)2.1.1PHP標(biāo)記符與注釋標(biāo)記符,就是為了便于與其他內(nèi)容區(qū)分所使用的一種特殊符號(hào),PHP代碼可以嵌入到HTML、JavaScipt等代碼中使用,因此就需要使用PHP標(biāo)記符將PHP代碼與HTML內(nèi)容進(jìn)行識(shí)別,當(dāng)服務(wù)器讀取該段代碼時(shí),就會(huì)調(diào)用PHP編譯程序進(jìn)行編譯處理。PHP支持2種標(biāo)記風(fēng)格,分別是標(biāo)準(zhǔn)PHP標(biāo)記風(fēng)格和簡(jiǎn)短標(biāo)記風(fēng)格,在PHP7中移除了ASP和scriptPHP標(biāo)簽。1.PHP標(biāo)記符(1)標(biāo)準(zhǔn)PHP標(biāo)記風(fēng)格<?phpecho“WelcometoChongqing!”;?>(2)簡(jiǎn)短標(biāo)記風(fēng)格<?echo“WelcometoChongqing!”;?>2.1.1PHP標(biāo)記符與注釋注釋可以理解為代碼中的解釋和說(shuō)明,是程序中不可缺少的重要元素。使用注釋不僅能夠提高程序的可讀性,而且還有利于程序的后期維護(hù)工作。注釋不會(huì)影響程序的執(zhí)行,因?yàn)樵趫?zhí)行時(shí),注釋部分的內(nèi)容不會(huì)被解釋器執(zhí)行。在PHP程序中添加注釋的方法有2種,可以混合使用,具體方法如下:(1)“//”:C++語(yǔ)言風(fēng)格的單行注釋。(2)“/*……*/”:C語(yǔ)言風(fēng)格的多行注釋。(2)“#”:UNIX的Shell語(yǔ)言風(fēng)格的單行注釋。2.PHP的注釋參見(jiàn)【例2-1】2.1.2標(biāo)識(shí)符與關(guān)鍵字在系統(tǒng)的開(kāi)發(fā)過(guò)程中,需要在程序中定義一些符號(hào)來(lái)標(biāo)記一些名稱,如變量名、函數(shù)名、類名、方法名等,這些符號(hào)被稱為標(biāo)識(shí)符。在PHP中,定義標(biāo)識(shí)符要遵偱一定的規(guī)則,具體如下。(1)標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成。(2)標(biāo)識(shí)符可以由一個(gè)或多個(gè)字符組成,且必須以字母或下劃線開(kāi)頭。(2)當(dāng)標(biāo)識(shí)符用用變量時(shí)候,區(qū)分大小寫(xiě)。(4)當(dāng)標(biāo)識(shí)符由多個(gè)單詞組成,那么應(yīng)使用下劃線進(jìn)行分隔,如user_name。1.標(biāo)識(shí)符2.關(guān)鍵字關(guān)鍵字就是編程語(yǔ)言里事先定義好并賦予了特殊含義的單詞,也稱為保留字。如echo用于輸出數(shù)據(jù),function用于定義函數(shù)。教材66頁(yè)表2-1列舉了PHP中所有的關(guān)鍵字。注意:(1)關(guān)鍵字不能作為常量、函數(shù)名或類名使用。(2)關(guān)鍵字雖然可作為變量名使用,但是容易導(dǎo)導(dǎo)致混淆,不建議使用。2.2PHP的數(shù)據(jù)類型數(shù)據(jù)是計(jì)算機(jī)程序的核心,計(jì)算機(jī)程序運(yùn)行時(shí)需要操作各種數(shù)據(jù),這些數(shù)據(jù)在程序運(yùn)行時(shí)臨時(shí)存儲(chǔ)在計(jì)算機(jī)內(nèi)存中。定義變量時(shí),系統(tǒng)在計(jì)算機(jī)內(nèi)存中開(kāi)辟了一塊空間用于存放這些數(shù)據(jù),空間名就是變量,空間大小則取決于所定義的數(shù)據(jù)類型。因此就應(yīng)當(dāng)根椐程序的不同需要來(lái)使用各種類型的數(shù)據(jù),以避免浪費(fèi)內(nèi)存空間。PHP支持的數(shù)據(jù)類型分為2類,分別是標(biāo)量數(shù)據(jù)類型,復(fù)合數(shù)據(jù)類型和特殊數(shù)據(jù)類型,見(jiàn)表2-2。1.標(biāo)量數(shù)據(jù)類型標(biāo)量數(shù)據(jù)類型是數(shù)據(jù)結(jié)構(gòu)中最基本的單元,只能存儲(chǔ)一種數(shù)據(jù)。(1).整型(integer)整型數(shù)據(jù)類型取值只能是整數(shù),包括正整數(shù)、負(fù)整數(shù)和0。整型數(shù)據(jù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制表示。八進(jìn)制整數(shù)前面必須加0;十六進(jìn)制整數(shù)前面必須加0x。字長(zhǎng)與操作系統(tǒng)有關(guān),在22位的操作系統(tǒng)中的有效范圍是-2147482648~+2147482647。示例:$a=666;//十進(jìn)制$b=-666;//負(fù)整數(shù)$c=0666;//八進(jìn)制$d=0x666;//十六進(jìn)制2.2PHP的數(shù)據(jù)類型浮點(diǎn)數(shù)據(jù)類型可以存儲(chǔ)整數(shù)和小數(shù)。字長(zhǎng)與操作系統(tǒng)有關(guān),在22位的操作系統(tǒng)中的有效范圍是1.7E-208~1.7E+208。浮點(diǎn)型數(shù)據(jù)有兩種書(shū)寫(xiě)格式,分別是標(biāo)準(zhǔn)格式和科學(xué)計(jì)數(shù)法格式。(2).浮點(diǎn)型(float)(2).布爾型(boolean)布爾型也稱邏輯型數(shù)據(jù)。取值范圍為真值(true)或假值(false)。示例:5.12860.88-18.9//標(biāo)準(zhǔn)格式8.21E222.64E-2//科學(xué)計(jì)數(shù)法格式(4).字符串型(string)字符串是由一系列的字符組成,其中每個(gè)字符等同于一個(gè)字節(jié)。字符串的實(shí)現(xiàn)方式是一個(gè)由字節(jié)組成的數(shù)組再加上一個(gè)整數(shù)指明緩沖區(qū)長(zhǎng)度。字符串主要由單引號(hào)和雙引號(hào)兩種方式來(lái)定義。示例:$a='重慶歡迎你’;$a="重慶歡迎你";如果字符串是包圍在雙引號(hào)(")中,PHP將對(duì)表2-2所示的轉(zhuǎn)義字符進(jìn)行解析,用來(lái)表示被程序語(yǔ)法結(jié)構(gòu)占用了的特殊字符?!纠?-2】2.2PHP的數(shù)據(jù)類型數(shù)組是一組數(shù)據(jù)的集合,由一組有序變量組成,形成一個(gè)可操作的整體。每個(gè)變量稱為數(shù)組元素,每個(gè)元素由鍵(索引)和值構(gòu)成,每個(gè)元素都有一個(gè)唯一的鍵名,稱為索引。元素的索引只能由整型數(shù)據(jù)或字符串組成。元素的值可以是各種數(shù)據(jù)類型,定義數(shù)組的語(yǔ)法格式如下:$array1[key]=”value”;//方法1$array1=array(key1=>valuel,key2=>value2,...);//方法22.復(fù)合數(shù)據(jù)類型(1).數(shù)組(array)(2).對(duì)象(object)同樣一個(gè)事,既可以用面向過(guò)程編程,也可以用面向?qū)ο缶幊?。比如,“?-1”可以用面向?qū)ο缶幊虂?lái)實(shí)現(xiàn)。面向?qū)ο蠛兔嫦蜻^(guò)程都有其優(yōu)勢(shì)的一面。2.2PHP的數(shù)據(jù)類型資源是一種特殊的數(shù)據(jù)類型,用于表示一個(gè)PHP的外部資源,由特定的函數(shù)來(lái)建立和使用。任何資源在不需要使用時(shí)應(yīng)及時(shí)釋放。如果程序員忘記了釋放資源,PHP垃圾回收機(jī)制將自動(dòng)回收資源。2.特殊數(shù)據(jù)類型(1).資源(resource)(2).空值(null)空值表示沒(méi)有為該變量設(shè)置任何值。由于null不區(qū)分大小寫(xiě),所以null和NULL是等效的。下列三種情況都表示空值。1)尚未賦值。2)被賦值為null。2)被unset()函數(shù)銷毀的變量。2.2PHP的數(shù)據(jù)類型
PHP中為變量或常量提供了很多檢測(cè)數(shù)據(jù)類型的函數(shù),有了這些函數(shù)用戶就可以對(duì)不同類型的數(shù)據(jù)進(jìn)行檢測(cè)。數(shù)據(jù)類型檢測(cè)函數(shù)見(jiàn)表2-4所示。4.數(shù)據(jù)類型檢測(cè)函數(shù)5.數(shù)據(jù)類型的轉(zhuǎn)換
PHP變量屬于松散的數(shù)據(jù)類型,在定義PHP變量時(shí)不需要指定數(shù)據(jù)類型,數(shù)據(jù)類型是由賦給變量或常量的值自動(dòng)確定的。當(dāng)不同數(shù)據(jù)類型的變量或常量之間進(jìn)行運(yùn)算時(shí),需要先將變量或常量轉(zhuǎn)換成相同的數(shù)據(jù)類型,再進(jìn)行運(yùn)算。PHP數(shù)據(jù)類型轉(zhuǎn)換分為自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。自動(dòng)類型轉(zhuǎn)換是指PHP預(yù)處理器根據(jù)運(yùn)算需要,自動(dòng)將變量轉(zhuǎn)換成合適的數(shù)據(jù)類型再進(jìn)行運(yùn)算。例如,浮點(diǎn)數(shù)在與整數(shù)進(jìn)行算術(shù)運(yùn)算時(shí),PHP預(yù)處理器會(huì)先將整數(shù)轉(zhuǎn)換成浮點(diǎn)數(shù),然后再進(jìn)行算術(shù)運(yùn)算。強(qiáng)制類型轉(zhuǎn)換是指程序員通過(guò)編程手段強(qiáng)制將某變量或常量的數(shù)據(jù)類型轉(zhuǎn)換成指定的數(shù)據(jù)類型?!纠?-2】2.2PHP的數(shù)據(jù)類型5.數(shù)據(jù)類型的轉(zhuǎn)換
PHP提供了2種強(qiáng)制類型轉(zhuǎn)換的方法。1)在變量前面加上一個(gè)小括號(hào),然后把目標(biāo)數(shù)據(jù)類型寫(xiě)在小括號(hào)中。詳情可參見(jiàn)表2-5。2)使用通用類型轉(zhuǎn)換函數(shù)settype()。boolsettype(變量名,"數(shù)據(jù)類型");示例,settype($c,"int");2)使用類型轉(zhuǎn)換函數(shù)intval()、strval()、floatval()。詳情可參見(jiàn)表2-6。類型轉(zhuǎn)換注意事項(xiàng)有以下幾方面。(1)轉(zhuǎn)換為布爾型空值null、整數(shù)0、浮點(diǎn)數(shù)0_0、字符串"0"、未賦值的變量或數(shù)組都會(huì)被轉(zhuǎn)換成false,其他的為true。(2)轉(zhuǎn)換為整型:布爾型的false轉(zhuǎn)為0,true轉(zhuǎn)為1;浮點(diǎn)數(shù)的小數(shù)部分會(huì)被舍去;以數(shù)字開(kāi)頭的字符串截取到非數(shù)字位,否則為0。(2)字符串轉(zhuǎn)換為數(shù)值型:當(dāng)字符串轉(zhuǎn)換為整型或浮點(diǎn)型時(shí),如果字符是以數(shù)字開(kāi)頭的,就會(huì)先把數(shù)字部分轉(zhuǎn)換為整型,再舍去后面的字符串,如果數(shù)字中含有小數(shù)點(diǎn),則會(huì)取到小數(shù)點(diǎn)前一位。2.2PHP常量常量是指在程序運(yùn)行過(guò)程中始終保持不變的數(shù)據(jù)。常量的值被定義后,在程序的整個(gè)執(zhí)行期間,這個(gè)值都有效,不需要也不可以再次對(duì)該常量進(jìn)行賦值。PHP提供兩種常量,分別是系統(tǒng)預(yù)定義常量和自定義常量。2.2.1聲明和使用常量程序員在開(kāi)發(fā)過(guò)程中不僅可以使用PHP預(yù)定義常量,也可以自己定義和使用常量。(1)使用define()函數(shù)定義常量,語(yǔ)法格式如下:Define(“常量名稱","常量值",大小寫(xiě)是否敏感);"大小寫(xiě)是否敏感"為可選參數(shù),指定是否大小寫(xiě)敏感,設(shè)定為true表示不敏感,默認(rèn)大小寫(xiě)敏感,即默認(rèn)為false。(2)使用defined()函數(shù)判斷常量是否已經(jīng)被定義,語(yǔ)法格式如下:booldefined(常量名稱);說(shuō)明:如果成功則返回true,失敗則返回false。2.2.2預(yù)定義常量
PHP中提供了大量預(yù)定義常量,用于獲取PHP中相關(guān)系統(tǒng)參數(shù)信息,但不能任意更改這些常量的值。有些常量是由擴(kuò)展庫(kù)所定義的,只有加載了相關(guān)擴(kuò)展庫(kù)才能使用。常用PHP預(yù)定義常量見(jiàn)表2-7所示。【例2-4】使用系統(tǒng)預(yù)定義常量輸出PHP相關(guān)系統(tǒng)參數(shù)信息。在“<body>”后輸入以下PHP代碼:<?phpecho"當(dāng)前操作系統(tǒng)為:".PHP_OS;echo"<br/>當(dāng)前PHP版本為:".PHP_VERSION;echo"<br/>當(dāng)前文件路徑為:".__FILE__;echo"<br/>當(dāng)前行數(shù)為:".__LINE__;echo"<br/>當(dāng)前行數(shù)為:".__LINE__;?>2.4PHP變量2.4.1變量聲明及使用變量用于存儲(chǔ)臨時(shí)數(shù)據(jù)信息,變量通過(guò)變量名實(shí)現(xiàn)內(nèi)存數(shù)據(jù)的存取操作。定義變量時(shí),系統(tǒng)會(huì)自動(dòng)為該變量分配一個(gè)存儲(chǔ)空間來(lái)存放變量的值。PHP中的變量用一個(gè)美元符號(hào)后面跟變量名來(lái)表示,變量名是區(qū)分大小寫(xiě)的。變量的命名規(guī)則與標(biāo)識(shí)符相同,由于PHP是弱類型語(yǔ)言,所以變量不需要先聲明,就可以直接進(jìn)行賦值使用。聲明變量的語(yǔ)法格式如下:$變量名=變量值變量賦值就是為變量賦予具體的數(shù)據(jù)值。變量賦值有2種方式,分別是直接賦值、傳值賦值和引用賦值。2.4.1變量聲明及使用直接賦值就是使用賦值運(yùn)算符“=”直接將數(shù)據(jù)值賦給某變量。示例:$a=122;//整型$b=122.56//浮點(diǎn)型$c=”howareyou”;//字符串型$d=true;//布爾型1.直接賦值2.傳值賦值傳值賦值就是使用賦值運(yùn)算符“=”將一個(gè)變量的值賦給另一個(gè)變量。值得注意的是,此時(shí)修改一個(gè)變量的值不會(huì)影響到另一個(gè)變量。示例:$a=122;$b=$a;//傳值賦值$a=200;2.4.1變量聲明及使用引用允許用兩個(gè)變量來(lái)指向同一個(gè)內(nèi)容,引用賦值也稱傳地址賦值,使用引用賦值,簡(jiǎn)單地將一個(gè)&符號(hào)加到將要賦值的變量前來(lái)實(shí)現(xiàn)將一個(gè)變量的地址傳遞給另一個(gè)變量,即兩個(gè)變量共同指向同一個(gè)內(nèi)存地址,使用的是同一個(gè)值。如【例2-5】。變量引用賦值的工作原理如下:(1)首先定義一個(gè)變量a并賦值122,此時(shí)內(nèi)存為a分配一個(gè)空間,存儲(chǔ)值為122。(2)接著定義一個(gè)變量b,然后將變量a的地址賦給變量b,此時(shí)內(nèi)存將變量b指向變量a的地址,即變量a與變量b指向的是同一個(gè)地址。(2)修改變量a或變量b的值為200,此時(shí)內(nèi)存中修改同一地址的值。(4)有一事項(xiàng)必須指出,那就是只有有名字的變量才可以引用賦值。2.引用賦值2.4.2可變變量可變變量是一種特殊的變量,這種變量的名稱由另一個(gè)變量的值來(lái)確定,也就是用一個(gè)變量的“值”作為另一個(gè)變量的“名”。聲明可變變量的方法是在變量名稱前面加兩個(gè)“$”符號(hào),語(yǔ)法格式如下:$$可變變量名稱=可變變量的值如【例2-6】2.4.2變量作用域變量的作用域是指變量在哪些地方可以被使用,在哪些地方不能被使用。一般情況下,變量的作用范圍是包含變量的PHP程序塊。
PHP中的變量按其作用域的不同主要分為4種,分別為局部變量、函數(shù)參數(shù)、全局變量和靜態(tài)變量。在函數(shù)內(nèi)部聲明的變量就是局部變量,它保存在內(nèi)存的棧中,所以速度很快。其作用域是所在函數(shù),即從定義變量的語(yǔ)句開(kāi)始到函數(shù)末尾。在函數(shù)之外無(wú)效,而且在函數(shù)調(diào)用結(jié)束后被系統(tǒng)自動(dòng)回收。1.局部變量函數(shù)參數(shù)可以按值傳遞,也可以按引用傳遞。任何接受參數(shù)的函數(shù)都必須在函數(shù)首部中聲明這些參數(shù)。2.函數(shù)參數(shù)2.4.2變量作用域全局變量是指在所有函數(shù)之外定義的變量,其作用域是整個(gè)PHP文件,即從定義變量的語(yǔ)句開(kāi)始到文件末尾,但在函數(shù)內(nèi)元效。如果要在函數(shù)內(nèi)部訪問(wèn)全局變量,要使用GLOBAL關(guān)鍵詞聲明,其語(yǔ)法格式如下:global$變量名;2.全局變量無(wú)論是全局變量還是局部變量,在調(diào)用結(jié)束后,該變量值將會(huì)失效。但有時(shí)仍然需要該變量,此時(shí)就需要將該變量聲明為靜態(tài)變量,靜態(tài)變量在函數(shù)退出時(shí)不會(huì)丟失值,并且再次調(diào)用此函數(shù)時(shí)還能保留這個(gè)值。聲明靜態(tài)變量只需在變量前加static關(guān)鍵字即可,語(yǔ)法格式如下:static$變量名=變量值;4.靜態(tài)變量2.4.4變量的生存周期變量不僅有其特定的作用范圍,還有其存活的周期--生命周期。變量的生命周期指的是變量可被使用的一個(gè)時(shí)間段,在這個(gè)時(shí)間段內(nèi)變量是有效的,一旦超出這個(gè)時(shí)間段變量就會(huì)失效,就不能夠再訪問(wèn)到該變量的值了。
PHP對(duì)變量的生命周期有如下規(guī)定:局部變量的生命周期為其所在函數(shù)被調(diào)用的整個(gè)過(guò)程。當(dāng)局部變量所在的函數(shù)結(jié)束時(shí),局部變量的生命周期也隨之結(jié)束。全局變量的生命周期為其所在的".php"腳本文件被調(diào)用的整個(gè)過(guò)程。當(dāng)全局變量所在的腳本文件結(jié)束調(diào)用時(shí),則全局變量的生命周期結(jié)束。2.5PHP運(yùn)算符運(yùn)算符是一些用于將數(shù)據(jù)按一定規(guī)則進(jìn)行運(yùn)算的特定符號(hào)的集合。運(yùn)算符所操作的數(shù)據(jù)被稱為操作數(shù),運(yùn)算符和操作數(shù)連接并可運(yùn)算出結(jié)果的式子被稱為表達(dá)式。PHP的運(yùn)算符分為7類,包括算術(shù)運(yùn)算符、字符串運(yùn)算符、賦值運(yùn)算符、位運(yùn)算符、邏輯運(yùn)算符、比較運(yùn)算符和三元運(yùn)算符,見(jiàn)表2-8所示。算術(shù)運(yùn)算符用于處理算術(shù)運(yùn)算操作,PHP中常用的算術(shù)運(yùn)算符見(jiàn)表2-9所示。1.算術(shù)運(yùn)算符
PHP中字符串運(yùn)算符只有一個(gè),就是英文句號(hào)".",用于將兩個(gè)字符串連接起來(lái),結(jié)合成一個(gè)新的字符串,語(yǔ)法格式如下:$c=$a.$b;2.字符串運(yùn)算符【例2-7】2.5PHP運(yùn)算符賦值運(yùn)算符主要用于處理表達(dá)式的賦值操作,先將右邊表達(dá)式進(jìn)行運(yùn)算,再將結(jié)果值賦給左邊的變量。賦值運(yùn)算符分為簡(jiǎn)單賦值運(yùn)算符和復(fù)合賦值運(yùn)算符,簡(jiǎn)單賦值運(yùn)算符為“=”,復(fù)合賦值運(yùn)算符包括+=、-=、*=、/=、%=、<<=、>>=等,詳見(jiàn)表2-10。2.賦值運(yùn)算符自增運(yùn)算符“++”和自減運(yùn)算符“--”屬于特殊的算術(shù)運(yùn)算符,它們用于對(duì)數(shù)值型數(shù)據(jù)進(jìn)行操作。不過(guò)自增和自減運(yùn)算符的運(yùn)算對(duì)象是單操作數(shù),使用“++”或“--”運(yùn)算符,根據(jù)書(shū)寫(xiě)位置不同,又分為前置自增(減)運(yùn)算符和后置自增(減)運(yùn)算符。見(jiàn)表2-11所示。4.遞增遞減運(yùn)算符
PHP中的位運(yùn)算符主要用于整數(shù)的運(yùn)算,運(yùn)算時(shí)先將整數(shù)轉(zhuǎn)換為相應(yīng)的二進(jìn)制數(shù),然后再對(duì)二進(jìn)制數(shù)進(jìn)行運(yùn)算,PHP中的位運(yùn)算符見(jiàn)表2-12所示。5.位運(yùn)算符2.5PHP運(yùn)算符邏輯運(yùn)算符用于處理邏輯運(yùn)算操作,對(duì)布爾型數(shù)據(jù)或表達(dá)式進(jìn)行操作,并返回布爾型結(jié)果。PHP的邏輯運(yùn)算符見(jiàn)表2-12所示。6.邏輯運(yùn)算符比較運(yùn)算符用于對(duì)兩個(gè)數(shù)據(jù)或表達(dá)式的值進(jìn)行比較,比較結(jié)果是一個(gè)布爾類型值。PHP中的比較運(yùn)算符如表2-14所示。7.比較運(yùn)算符條件運(yùn)算符也稱為三元運(yùn)算符,提供簡(jiǎn)單的邏輯判斷,語(yǔ)法格式如下:表達(dá)式1?表達(dá)式2:表達(dá)式2如果表達(dá)式1的值為true,則執(zhí)行表達(dá)式2,否則執(zhí)行表達(dá)式2。示例:$c=($a>$b)?$a:$b;8.條件運(yùn)算符2.5PHP運(yùn)算符
PHP支持一個(gè)錯(cuò)誤控制運(yùn)算符:@。當(dāng)將其放置在一個(gè)PHP表達(dá)式之前,該表達(dá)式可能產(chǎn)生的任何錯(cuò)誤信息都被忽略掉。@運(yùn)算符只對(duì)表達(dá)式有效。一個(gè)簡(jiǎn)單的規(guī)則就是:如果能從某處得到值,就能在它前面加上@運(yùn)算符。9.錯(cuò)誤控制運(yùn)算符
PHP支持一個(gè)執(zhí)行運(yùn)算符:一對(duì)反引號(hào)“``”,注意這不是單引號(hào)。PHP將把運(yùn)算符內(nèi)的字符作為外殼命令來(lái)執(zhí)行,其作用與shell_exec()函數(shù)相同。反引號(hào)運(yùn)算符在激活了安全模式或者關(guān)閉了shell_exec()時(shí)是無(wú)效的。10.執(zhí)行運(yùn)算符
表2-15從高到低列出了運(yùn)算符的優(yōu)先級(jí)。同一行中的運(yùn)算符具有相同優(yōu)先級(jí),此時(shí)它們的結(jié)合方向決定求值順序,必要時(shí)可以用括號(hào)來(lái)強(qiáng)制改變優(yōu)先級(jí),從而增加可讀性。11.運(yùn)算符優(yōu)先級(jí)$output=`ipconfig`;echo"<pre>$output</pre>";2.6PHP的表達(dá)式表達(dá)式就是由操作數(shù)、操作符以及括號(hào)等所組成的合法序列。將相同數(shù)據(jù)類型或不同數(shù)據(jù)類型的數(shù)據(jù)(如變量、常量、函數(shù)等),用運(yùn)算符號(hào)按一定的規(guī)則連接起來(lái)的、有意義的語(yǔ)句。示例:$a=122;根據(jù)表達(dá)式中運(yùn)算符類型的不同,可以將表達(dá)式分為:算術(shù)表達(dá)式、字符串表達(dá)式、賦值表達(dá)式、位運(yùn)算表達(dá)式、邏輯表達(dá)式、比較表達(dá)式等。PHP程序由語(yǔ)句構(gòu)成,每條語(yǔ)句以英文分號(hào)";"結(jié)束。每條語(yǔ)句一般單獨(dú)占用一行。2.7PHP函數(shù)函數(shù)是將一些重復(fù)使用到的功能寫(xiě)在一個(gè)獨(dú)立的程序塊中,在需要時(shí)以便單獨(dú)調(diào)用。2.7.1自定義函數(shù)
PHP函數(shù)分為系統(tǒng)內(nèi)建函數(shù)和用戶自定義函數(shù)兩種。PHP的真正力量來(lái)自它的函數(shù):它擁有超過(guò)1000個(gè)內(nèi)建的函數(shù)。除了內(nèi)建的PHP函數(shù),還可以創(chuàng)建自定義函數(shù)。自定義函數(shù)的語(yǔ)法格式如下:functio函數(shù)名($str1,$str2){函數(shù)體;return返回值;}1.函數(shù)的定義頁(yè)面加載時(shí)函數(shù)不會(huì)立即執(zhí)行,函數(shù)只有在被調(diào)用時(shí)才會(huì)執(zhí)行。函數(shù)的調(diào)用可以在函數(shù)定義之前或之后,調(diào)用函數(shù)的語(yǔ)法格式如下:函數(shù)名(實(shí)際參數(shù)列表);2.函數(shù)的調(diào)用【例2-8】用自定義函數(shù)的方法求兩個(gè)數(shù)的和2.7.2函數(shù)的參數(shù)函數(shù)的使用經(jīng)常需要用到參數(shù),參數(shù)可以將數(shù)據(jù)傳遞給函數(shù)。在調(diào)用函數(shù)時(shí)需要輸入與函數(shù)的形式參數(shù)個(gè)數(shù)和類型相同的實(shí)際參數(shù),實(shí)現(xiàn)數(shù)據(jù)從實(shí)際參數(shù)到形式參數(shù)的傳遞。參數(shù)傳遞方式有值傳遞、引用傳遞和默認(rèn)參數(shù)2種。1.值傳遞引用傳遞也稱為按地址傳遞,就是將實(shí)際參數(shù)的內(nèi)存地址傳遞到形式參數(shù)中。此時(shí)被調(diào)用函數(shù)內(nèi)形式參數(shù)的值若發(fā)生改變,則實(shí)際參數(shù)也發(fā)生相應(yīng)改變,引用傳遞的語(yǔ)法格式如下為定義函數(shù)時(shí),在形式參數(shù)前面加上&符號(hào):function函數(shù)名(&$strl,&$str2,…){……}//定義函數(shù)函數(shù)名($a1,$a2,…);//調(diào)用函數(shù)2.引用傳遞【例2-10】值傳遞是指將實(shí)際參數(shù)的值復(fù)制到對(duì)應(yīng)的形式參數(shù)中,然后使用形式參數(shù)在被調(diào)用函數(shù)內(nèi)部進(jìn)行運(yùn)行,運(yùn)算的結(jié)果不會(huì)影響到實(shí)際參數(shù),即函數(shù)調(diào)用結(jié)束后,實(shí)際參數(shù)的值不會(huì)發(fā)生改變?!纠?-9】2.7.2函數(shù)的參數(shù)默認(rèn)參數(shù)也稱可選參數(shù),在定義函數(shù)時(shí)可以指定某個(gè)參數(shù)為可選參數(shù),將可選參數(shù)放在參數(shù)列表末尾,并且指定其默認(rèn)值,默認(rèn)值可以在函數(shù)調(diào)用時(shí)進(jìn)行更改。示例:functionadd($a,$b=100){……}//函數(shù)定義add(200,122)//調(diào)用函數(shù)時(shí),為可選參數(shù)賦值add(200)//調(diào)用函數(shù)時(shí),沒(méi)有給可選參數(shù)賦值2.默認(rèn)參數(shù)2.7.2函數(shù)返回值函數(shù)將返回值傳遞給調(diào)用者的方式是使用關(guān)鍵字return。當(dāng)執(zhí)行到一個(gè)return語(yǔ)句時(shí),返回,后面的語(yǔ)句不再執(zhí)行,將會(huì)終止程序的執(zhí)行。示例:functionGetSum($a,$b)//定義函數(shù),不需要聲明返回值及類型
{ return$a+$b; }$c=GetSum(122,200);//調(diào)用函數(shù),獲取返回值
echo$c;2.7.4內(nèi)置函數(shù)
PHP內(nèi)置函數(shù)是由PHP開(kāi)發(fā)者編寫(xiě)并嵌入到PHP中,用戶在編寫(xiě)程序時(shí)可以直接使用。PHP內(nèi)置函數(shù)又可以分為標(biāo)準(zhǔn)函數(shù)庫(kù)和擴(kuò)展函數(shù)庫(kù),標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)存放在PHP內(nèi)核中,可以在程序中直接使用,擴(kuò)展函數(shù)庫(kù)中的函數(shù)被封裝在相應(yīng)的DLL文件中,使用時(shí)需要在PHP配置文件中將相應(yīng)的DLL文件包含進(jìn)來(lái)。1.變量函數(shù)庫(kù)
PHP提供了大量的字符串處理函數(shù),可以幫助用戶完成許多復(fù)雜的字符串處理工作,在實(shí)際的開(kāi)發(fā)中有著非常重要作用。常用的PHP字符串函數(shù)見(jiàn)表2-17所示。2.字符串函數(shù)庫(kù)
PHP變量函數(shù)庫(kù)提供了一系列用于變量處理的函數(shù),常用的PHP變量函數(shù)見(jiàn)表于2-16所示。
PHP提供了實(shí)用的日期時(shí)間處理函數(shù),可以幫助用戶完成對(duì)日期和時(shí)間的各種處理工作。常用的PHP日期時(shí)間函數(shù)見(jiàn)表于2-18所示。2.日期時(shí)間函數(shù)2.7.4內(nèi)置函數(shù)4.PHP數(shù)學(xué)函數(shù)庫(kù)
PHP提供了大量的文件及目錄處理函數(shù),可以幫助用戶完成對(duì)文件和目錄的各種處理操作,常用的PHP文件目錄函數(shù)見(jiàn)表2-20所示。5.PHP文件目錄函數(shù)庫(kù)
PHP提供了實(shí)用的數(shù)學(xué)處理函數(shù),可以幫助用戶完成對(duì)數(shù)學(xué)運(yùn)算的各種操作。常用的PHP數(shù)學(xué)函數(shù)見(jiàn)表2-19所示?!纠?-11】2.8PHP數(shù)組數(shù)組是一組相同類型數(shù)據(jù)連續(xù)存儲(chǔ)的集合,這一組數(shù)據(jù)在內(nèi)存中的空間是相鄰的,每個(gè)空間存儲(chǔ)了1個(gè)數(shù)組元素。數(shù)組中的數(shù)據(jù)稱為數(shù)組元素,每個(gè)元素包含一個(gè)“鍵”和一個(gè)“值”,通過(guò)“健=>值”形式表示,其中,“鍵”是數(shù)組元素的識(shí)別名稱,也被數(shù)組稱為數(shù)組下標(biāo),“值”是數(shù)組元素的內(nèi)容?!版I”和“值”之間使用“=>”連接,數(shù)組各個(gè)元素之間使用逗號(hào)“,”分隔,最后一個(gè)元素后面的逗號(hào)可以省略。數(shù)組根據(jù)下標(biāo)的數(shù)據(jù)類型,可分為索引數(shù)組和關(guān)聯(lián)數(shù)組。索引數(shù)組是下標(biāo)為整型的數(shù)組,默認(rèn)下標(biāo)從0開(kāi)始,也可以自己指定;而關(guān)聯(lián)數(shù)組是下示為字符串的數(shù)組。數(shù)組中只要有一個(gè)下標(biāo)不是數(shù)字,該數(shù)組就是關(guān)聯(lián)數(shù)組。2.8.1數(shù)組的使用1.定義數(shù)組(1)使用賦值方式定義數(shù)組使用賦值方式定義數(shù)組就是創(chuàng)建一個(gè)數(shù)組變量,然后使用賦值運(yùn)算符直接給變量賦值,語(yǔ)法格式如下:$數(shù)組名[下標(biāo)1]=元素值1;$數(shù)組名[下標(biāo)2]=元素值2;數(shù)組下標(biāo)(鍵名)可以是數(shù)字也可以是字符串,每個(gè)下標(biāo)都對(duì)應(yīng)著數(shù)組元素在數(shù)組中的位置,元素值可以是任何值。(2)使用array()函數(shù)定義數(shù)組使用array()函數(shù)定義數(shù)組就是將數(shù)組的元素作為參數(shù),“鍵”和值之間用“=>”連接,各元素之間用逗號(hào)“,”隔開(kāi),語(yǔ)法格式如下:$數(shù)組名=array(“下標(biāo)1”=>”元素值1”,“下標(biāo)1”=>”元素值1”,…);2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學(xué)模考模擬試題(全優(yōu))
- 2024年度山西省高校教師資格證之高等教育法規(guī)考前沖刺模擬試卷A卷含答案
- 2023年標(biāo)膠投資申請(qǐng)報(bào)告
- 廣東開(kāi)放大學(xué)2024年秋《大學(xué)英語(yǔ)2(專)》形考測(cè)驗(yàn)1參考答案
- 第七章 社會(huì)主義改革和對(duì)外開(kāi)放課件
- 二年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)1000題匯編集錦
- 2024年輸電設(shè)備建設(shè)承包協(xié)議
- 2024年工程承包商協(xié)議條款及細(xì)則
- 道德與法治八上八上9.2《維護(hù)國(guó)家安全》教學(xué)設(shè)計(jì)
- 2024年飲食店全職員工聘用協(xié)議
- 2024年銀行考試-反洗錢(qián)考試近5年真題集錦(頻考類試題)帶答案
- 2025年九省聯(lián)考新高考 語(yǔ)文試卷(含答案解析)
- 工業(yè)視覺(jué)系統(tǒng)運(yùn)維員-國(guó)家職業(yè)標(biāo)準(zhǔn)(2023年版)
- 大概念統(tǒng)攝下跨學(xué)科課程的開(kāi)發(fā)與實(shí)施
- 鋼結(jié)構(gòu)件竣工環(huán)保驗(yàn)收監(jiān)測(cè)調(diào)查報(bào)告
- 2024秋期國(guó)家開(kāi)放大學(xué)《公共行政學(xué)》一平臺(tái)在線形考(形考任務(wù)一至三)試題及答案
- 廣西南寧市青秀區(qū)第十四中學(xué)2024-2025學(xué)年七年級(jí)上學(xué)期10月月考數(shù)學(xué)試題(無(wú)答案)
- 凈水設(shè)備維保合同模板
- 六年級(jí)數(shù)學(xué)上冊(cè)(滬教版2024)-【新教材解讀】義務(wù)教育教材內(nèi)容解讀課件
- 2024-2030年中國(guó)月子中心行業(yè)深度分析及發(fā)展戰(zhàn)略研究咨詢報(bào)告
- 上海市市轄區(qū)(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)部編版期中考試(下學(xué)期)試卷及答案
評(píng)論
0/150
提交評(píng)論