摘要:什么是變量的作用域變量的作用域是指在腳本的一次生命周期內(nèi)變量的有效范圍。一般來說有全局和局部之分。
什么是變量的作用域?變量的作用域是指在腳本的一次生命周期內(nèi)變量的有效范圍。一般來說有全局和局部之分。
PHP中變量的作用域可以分為:超全局(全局變量的特殊類型,在局部范圍里可直接使用),全局,局部,靜態(tài)(是局部變量的特殊類型)
在PHP中,全局變量實(shí)際上是靜態(tài)全局變量,如果不用unset顯式的釋放,那么等腳本運(yùn)行結(jié)束全局變量才會(huì)被釋放掉
局部靜態(tài)變量細(xì)分可以是 局部靜態(tài)函數(shù)變量(函數(shù)中聲明的static變量),局部靜態(tài)成員變量(類中聲明的 static 屬性,被所有類實(shí)例共享)
局部靜態(tài)變量只有腳本運(yùn)行結(jié)束才會(huì)被自動(dòng)釋放
超全局變量:在一個(gè)腳本的任何作用域里都可以被訪問,這些都是PHP內(nèi)置的
$GLOBALS
$_SERVER
$_GET
$_POST
$_FILES
$_SESSION(持久化存儲(chǔ))
$_COOKIE(持久化存儲(chǔ))
$_REQUEST
$_ENV
全局變量:聲明的變量不在class,function,if等語(yǔ)言結(jié)構(gòu)內(nèi)部,如果要在class,function,if等語(yǔ)言內(nèi)部使用,需要用關(guān)鍵詞global或者超全局變量$GLOBALS
靜態(tài)變量: 在function中使用關(guān)鍵詞static聲明的變量,靜態(tài)變量的值保留直至腳本結(jié)束
局部變量:在class,function,if/while/for等結(jié)構(gòu)語(yǔ)句內(nèi)部聲明的變量
global關(guān)鍵詞和$GLOBALS
static 變量和普通局部變量區(qū)別
static 關(guān)鍵詞還可以聲明靜態(tài)屬性和靜態(tài)方法
靜態(tài)屬性只能被類調(diào)用,而不能被類實(shí)例調(diào)用
靜態(tài)方法里不能使用$this,只能用self訪問類的靜態(tài)屬性另外理解static變量的一段代碼
"; } public static function aa() { self::$v++; echo self::$v . "
"; } } $o1 = new t(); $o1->a();//輸出11 $o2 = new t(); $o2->a();//輸出12 t::aa();//輸出11 $o1->aa();//輸出12 $o2->aa();//輸出13從上面的代碼中,可知如果一個(gè)類成員方法中有靜態(tài)變量,即使是不同的類實(shí)例,他們也會(huì)共享這個(gè)靜態(tài)變量,盡管這個(gè)靜態(tài)變量不是類靜態(tài)成員變量,這點(diǎn)容易讓人迷惑
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/20658.html
摘要:聲明靜態(tài)變量時(shí)不能用表達(dá)式的結(jié)果對(duì)其賦值正確錯(cuò)誤使用表達(dá)式的結(jié)果賦值錯(cuò)誤使用表達(dá)式的結(jié)果賦值靜態(tài)變量與遞歸函數(shù)靜態(tài)變量提供了一種處理遞歸函數(shù)的方法。 一、變量的定義 1. 變量的命名規(guī)則 變量名可以包含字母、數(shù)字、下劃線,不能以數(shù)字開頭。 $Var_1 = foo; // 合法 $var1 = foo; // 合法 $_var1 = foo; // 合法 $Var-1 = foo; /...
摘要:可變變量可變變量是語(yǔ)言中的一種特殊用法,不知其他語(yǔ)言存不存在。簡(jiǎn)而言之,可變變量就是,一個(gè)可變變量獲取了一個(gè)普通變量的值作為這個(gè)可變變量的變量名。當(dāng)可變變量用于數(shù)組時(shí),可能會(huì)出現(xiàn)模棱兩可的問題。常量語(yǔ)法常量在腳本執(zhí)行期間其值不能改變。 變量基礎(chǔ) PHP中的變量用一個(gè)美元符號(hào)后面跟變量名來表示。變量名是區(qū)分大小寫的,并且出現(xiàn)中文可能也是合法的。 變量默認(rèn)總是傳值賦值。PHP也提供了另外一...
摘要:通過注冊(cè)自動(dòng)加載器,腳本引擎在出錯(cuò)失敗前有了最后一個(gè)機(jī)會(huì)加載所需的類構(gòu)造函數(shù)和析構(gòu)函數(shù)構(gòu)造函數(shù)允行開發(fā)者在一個(gè)類中定義一個(gè)方法作為構(gòu)造函數(shù)。析構(gòu)函數(shù)會(huì)在到某個(gè)對(duì)象的所有引用都被刪除或者當(dāng)對(duì)象被顯式銷毀時(shí)執(zhí)行抽象類支持抽象類和抽象方法。 語(yǔ)言參考 1. 類型 1.1 簡(jiǎn)介 showImg(https://segmentfault.com/img/bVbqlNJ?w=531&h=379);...
摘要:如果對(duì)應(yīng)的變量中的值是個(gè)科學(xué)記數(shù)法的值,它會(huì)進(jìn)行壓縮然后插入到原字符串對(duì)應(yīng)的符號(hào)位置,例如按照常規(guī)轉(zhuǎn)換為如果使用它會(huì)壓縮轉(zhuǎn)換為。它取消掉了調(diào)用函數(shù)的參數(shù),直接輸出了使用方式相同,惟一不同的是它把存放對(duì)應(yīng)變量的參數(shù)可以作為數(shù)組方式傳入。 字符相關(guān): %s - 對(duì)應(yīng)的變量雙引號(hào)中的值按照原樣的內(nèi)容插入到原字符串對(duì)應(yīng)的%s符號(hào)位置。 %c - 參考百度百科->標(biāo)準(zhǔn)ASCII表相當(dāng)于chr...
摘要:之前,第三方編譯是管理器,是解釋器之后,官方自帶,與模式。又是解釋器,又是管理器以模塊模式運(yùn)行常見配置數(shù)組排序 PHP引用變量 什么是引用變量?如何定義引用變量? 引用意味著用不同的名字訪問同一個(gè)內(nèi)容定義引用變量:使用& 引用變量的工作原理 普通變量的工作原理 $a = range(0,10000); var_dump(memory_get_usage()); //int(7420...
閱讀 2620·2021-10-12 10:12
閱讀 778·2019-08-29 17:25
閱讀 2782·2019-08-29 17:24
閱讀 3207·2019-08-29 17:19
閱讀 1792·2019-08-29 15:39
閱讀 3035·2019-08-26 16:50
閱讀 1984·2019-08-26 12:17
閱讀 2694·2019-08-26 12:16