PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 3.PHP變量定義賦值和作用域_第1頁(yè)
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 3.PHP變量定義賦值和作用域_第2頁(yè)
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 3.PHP變量定義賦值和作用域_第3頁(yè)
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 3.PHP變量定義賦值和作用域_第4頁(yè)
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 3.PHP變量定義賦值和作用域_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2.4PHP變量陳學(xué)平014PHP變量4PHP變量變量用于存儲(chǔ)值,比如數(shù)字、文本字符串或數(shù)組。一旦設(shè)置了某個(gè)變量,就可以在腳本中重復(fù)地使用它。PHP的變量必須以$符開始,然后再加上變量名。4.1變量的命名規(guī)則在右側(cè)編輯區(qū)輸入內(nèi)容(1)變量名必須以字母或者下劃線"_"開頭,后面跟上任意數(shù)量的字母、數(shù)字或者下劃線。貳在右側(cè)編輯區(qū)輸入內(nèi)容(3)變量名嚴(yán)格區(qū)分大小寫,即$UserName與$username是不同的變量。肆$name;$_password;$book1;(5)在為變量命名時(shí),盡量使用有意義的字符串。如下所示:陸在右側(cè)編輯區(qū)輸入內(nèi)容變量的命名規(guī)則如下:壹在右側(cè)編輯區(qū)輸入內(nèi)容(2)變量名不能以數(shù)字開頭,中間不能有空格及運(yùn)算符。叁在右側(cè)編輯區(qū)輸入內(nèi)容(4)為避免命名沖突,不允許使用與PHP內(nèi)置的函數(shù)相同的名稱。伍4.2變量的賦值為變量賦值有兩種方式:傳值賦值和引用賦值,這兩種賦值方式在對(duì)數(shù)據(jù)的處理上存在很大差別。4.2變量的賦值傳值賦值這種賦值方式使用“=”直接將一個(gè)變量(或表達(dá)式)的值賦給變量。使用這種賦值方式,等號(hào)兩邊的變量值互不影響,任何一個(gè)變量值的變化都不會(huì)影響到另一個(gè)變量。從根本上講,傳值賦值是通過在存儲(chǔ)區(qū)域復(fù)制一個(gè)變量的副本來實(shí)現(xiàn)的。4.2變量的賦值實(shí)例1:應(yīng)用傳值賦值實(shí)例代碼如下:<?php$a=33;$b=$a;$b=44;echo"變量a的值為".$a."<br>";echo"變量b的值為".$b;?>在上面的代碼中,執(zhí)行“$a=33”語句時(shí),系統(tǒng)會(huì)在內(nèi)存中為變量a開辟一個(gè)存儲(chǔ)空間,并將“33”這個(gè)數(shù)值存儲(chǔ)到該存儲(chǔ)空間。4.2變量的賦值實(shí)例1:應(yīng)用傳值賦值執(zhí)行“$b=$a”語句時(shí),系統(tǒng)會(huì)在內(nèi)存中為變量b開辟一個(gè)存儲(chǔ)空間,并將變量a所指向的存儲(chǔ)空間的內(nèi)容復(fù)制到變量b所指向的存儲(chǔ)空間。執(zhí)行“$b=44”語句時(shí),系統(tǒng)將變量b所指向的存儲(chǔ)空間保存的值更改為“44”,而變量a所指向的存儲(chǔ)空間保存的值仍然是“33”。在瀏覽器上看到的內(nèi)容為:變量a的值為33變量b的值為444.2變量的賦值引用賦值引用賦值同樣也是使用“=”將一個(gè)變量的值賦給另一個(gè)變量,但是需要在等號(hào)右邊的變量前面加上一個(gè)“&”符號(hào)。實(shí)際上這種賦值方式并不是真正意義上的賦值,而是一個(gè)變量引用另一個(gè)變量。在使用引用賦值的時(shí)候,兩個(gè)變量將會(huì)指向內(nèi)存中同一存儲(chǔ)空間。因此任何一個(gè)變量的變化都會(huì)引起另外一個(gè)變量的變化。實(shí)例2應(yīng)用引用賦值實(shí)例代碼如下:<?php$a=33;$b=&$a;$b=44;echo"變量a的值為".$a."<br>";echo"變量b的值為".$b;?>在上面的代碼中執(zhí)行“$a=33”語句時(shí),對(duì)內(nèi)存進(jìn)行操作的過程與傳值賦值相同,這里就不再介紹了。執(zhí)行“$b=&$a”語句后,變量b將會(huì)指向變量a所占有的存儲(chǔ)空間。實(shí)例2應(yīng)用引用賦值執(zhí)行“$b=44”語句后,變量b所指向的存儲(chǔ)空間保存的值變?yōu)椤?4”。此時(shí)由于變量a也指向此存儲(chǔ)空間,所以變量a的值也會(huì)變?yōu)椤?4”。在瀏覽器上看到的內(nèi)容為:變量a的值為44變量b的值為444.3變量的作用域在使用PHP語言進(jìn)行開發(fā)的時(shí)候,幾乎可以在任何位置聲明變量。但是變量聲明位置及聲明方式的不同決定了變量作用域的不同。所謂的變量作用域,指的是變量在哪些范圍內(nèi)能被使用,在哪些范圍內(nèi)不能被使用。PHP中的變量按照作用域的不同可以分為局部變量和全局變量。4.3變量的作用域局部變量局部變量是聲明在某一函數(shù)體內(nèi)的變量,該變量的作用范圍僅限于其所在的函數(shù)體的內(nèi)部。如果在該函數(shù)體的外部引用這個(gè)變量,則系統(tǒng)將會(huì)認(rèn)為引用的是另外一個(gè)變量。實(shí)例3局部變量的使用實(shí)例代碼如下:<?phpfunctionlocal(){$a="“這是內(nèi)部函數(shù)”";//在函數(shù)內(nèi)部聲明一個(gè)變量a并賦值echo"函數(shù)內(nèi)部變量a的值為".$a."<br>";}local();//調(diào)用函數(shù)local(),用來打印出變量a的值4.3變量的作用域局部變量$a="“這是外部函數(shù)”";//在函數(shù)外部再次聲明變量a并賦另一個(gè)值01?>03函數(shù)內(nèi)部變量a的值為“這是內(nèi)部函數(shù)”05echo"函數(shù)外部變量a的值為".$a;02在瀏覽器中輸出為:04函數(shù)外部變量a的值為“這是外部函數(shù)”064.3變量的作用域全局變量全局變量可以在程序的任何地方被訪問,這種變量的作用范圍是最廣泛的。要將一個(gè)變量聲明為全局變量,只需在該變量前面加上“global”關(guān)鍵字,不區(qū)分大小寫,也可以是“GLOBAL”。使用全局變量,能夠?qū)崿F(xiàn)在函數(shù)內(nèi)部引用函數(shù)外部的參數(shù),或者在函數(shù)外部引用函數(shù)內(nèi)部的參數(shù)。實(shí)例4應(yīng)用全局變量(在函數(shù)內(nèi)部引用函數(shù)外部的參數(shù))的實(shí)例代碼如下:。<?php$a="“這是外部函數(shù)”";//在外部定義一個(gè)變量afunctionlocal(){global$a;//將變量a聲明為全局變量4.3變量的作用域全局變量echo"在local函數(shù)內(nèi)部獲得變量a的值為".$a."<br>";}local();//調(diào)用函數(shù)local(),用于輸出local函數(shù)內(nèi)部變量a的值?>在瀏覽器中輸出為:在local函數(shù)內(nèi)部獲得變量a的值為“這是外部函數(shù)”實(shí)例5應(yīng)用全局變量(在函數(shù)外部引用函數(shù)內(nèi)部的參數(shù))的實(shí)例代碼如下:<?php4.3變量的作用域全局變量functionlocal(){global$a;//將變量a聲明為全局變量$a="“這是內(nèi)部函數(shù)”";//在內(nèi)部對(duì)變量a進(jìn)行賦值}local();//調(diào)用函數(shù)local(),用于輸出local函數(shù)內(nèi)部變量a的值echo"在local函數(shù)外部獲得變量a的值為".$a;//在函數(shù)local外部輸出變量?>在瀏覽器中輸出為:4.3變量的作用域全局變量在local函數(shù)外部獲得變量a的值為“這是內(nèi)部函數(shù)”應(yīng)用全局變量雖然能夠更加方便地操作變量,但是有的時(shí)候變量作用域的擴(kuò)大,會(huì)給開發(fā)帶來麻煩,可能會(huì)引發(fā)一些預(yù)料不到的問題。將一個(gè)變量聲明為全局變量,還有另外一種方法,就是利用$GLOBALS[]數(shù)組。4.3變量的作用域靜態(tài)變量函數(shù)執(zhí)行時(shí)所產(chǎn)生的臨時(shí)變量,在函數(shù)結(jié)束時(shí)就會(huì)自動(dòng)消失。當(dāng)然,因?yàn)槌绦蛐枰?,函?shù)在循環(huán)過程中不希望變量在每次執(zhí)行完函數(shù)就消失的話,就要采用靜態(tài)變量,靜態(tài)變量是指用static聲明的變量,這種變量與局部變量的區(qū)別是,當(dāng)靜態(tài)變量離開了它的作用范圍后,它的值不會(huì)自動(dòng)消亡,而是繼續(xù)存在,當(dāng)下次再用到它的時(shí)候,可以保留最近一次的值。實(shí)例6應(yīng)用靜態(tài)變量實(shí)例代碼如下:。<?phpfunctionadd(){4.3變量的作用域靜態(tài)變量static$a=0;01echo$a."<br>";02}03add();04add();05add();06?>07在瀏覽器中輸出為:08109$a++;104.3變量的作用域靜態(tài)變量23這段程序中,主要定義了一個(gè)函數(shù)add(),然后分3次調(diào)用add()。如果用局部變量的方式來分工這段代碼,3次的輸出應(yīng)該都是1。但實(shí)際輸出卻是1、2和3。這是因?yàn)?,變量a在聲明的時(shí)候被加上了一個(gè)修飾符static,這就標(biāo)志著a變量在add()函數(shù)內(nèi)部就是一個(gè)靜態(tài)變量了,具備記憶自身值的功能,當(dāng)?shù)谝淮握{(diào)用add時(shí),a由于自加變成了1,這個(gè)時(shí)候,a就記住自己不再是0,而是1了,當(dāng)需要再次調(diào)用add時(shí),a再一次自加,由1變成了2,…。由此,就可以看出靜態(tài)變量的特性。4.3變量的作用域可變變量可變變量是一種獨(dú)特的變量,它可以動(dòng)態(tài)的改變一個(gè)變量的名稱,方法就是在該變量的前面加一個(gè)變量符號(hào)“$”。實(shí)例7可變變量的使用實(shí)例代碼如下:。<?php$a='hello';//普通變量$$a='world';//可變變量,相當(dāng)于$hello='world';echo$a."<br>";echo$$a."<br>";echo$hello."<br>";4.3變量的作用域可變變量echo"$a{$$a}"."<br>";1echo"$a$

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論