91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中的變量類型和作用域詳解

發布時間:2021-09-10 17:52:41 來源:億速云 閱讀:201 作者:chen 欄目:開發技術

這篇文章主要介紹“PHP中的變量類型和作用域詳解”,在日常操作中,相信很多人在PHP中的變量類型和作用域詳解問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP中的變量類型和作用域詳解”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

PHP中變量的作用域可以分為:超全局(全局變量的特殊類型,在局部范圍里可直接使用),全局,局部,靜態(是局部變量的特殊類型)
在PHP中,全局變量實際上是靜態全局變量,如果不用unset顯式的釋放,那么等腳本運行結束全局變量才會被釋放掉
局部靜態變量細分可以是 局部靜態函數變量(函數中聲明的static變量),局部靜態成員變量(類中聲明的 static 屬性,被所有類實例共享)
局部靜態變量只有腳本運行結束才會被自動釋放

超全局變量:在一個腳本的任何作用域里都可以被訪問,這些都是PHP內置的

復制代碼 代碼如下:


$GLOBALS
$_SERVER
$_GET
$_POST
$_FILES
$_SESSION(持久化存儲)
$_COOKIE(持久化存儲)
$_REQUEST
$_ENV


全局變量:聲明的變量不在class,function,if等語言結構內部,如果要在class,function,if等語言內部使用,需要用關鍵詞global或者超全局變量$GLOBALS

靜態變量: 在function中使用關鍵詞static聲明的變量,靜態變量的值保留直至腳本結束
局部變量:在class,function,if/while/for等結構語句內部聲明的變量

1.global關鍵詞和$GLOBALS實例

復制代碼 代碼如下:

<?php
$a = 0;
function foo()
{
    global $a;
    echo $a;
}
function foo2()
{
    echo $GLOBALS['a'];
}


2.static 變量和普通局部變量區別實例

復制代碼 代碼如下:

<?php
function foo1()
{
    $var = 0;
    $var++;
    return $var;
}
echo foo1();
echo foo1();
//輸出都是1
function foo ()
{
    static $var = 0;
    $var++;
    return var;
}
echo foo();
echo foo();


//第一次輸出1 第二次2
3.static 關鍵詞還可以聲明靜態屬性和靜態方法
靜態屬性只能被類調用,而不能被類實例調用
靜態方法里不能使用$this,只能用self訪問類的靜態屬性

另外理解static變量的一段代碼:

復制代碼 代碼如下:


<?php
class t
{
        static $v = 10;
        public function a()
        {
                static $var = 10;
                $var++;
                echo $var . "<br>\n";
        }
        public static function aa()
        {
                self::$v++;
                echo self::$v . "<br>\n";
        }
}
$o1 = new t();
$o1->a();//輸出11
$o2 = new t();
$o2->a();//輸出12
t::aa();//輸出11
$o1->aa();//輸出12
$o2->aa();//輸出13

從上面的代碼中,可知如果一個類成員方法中有靜態變量,即使是不同的類實例,他們也會共享這個靜態變量,盡管這個靜態變量不是類靜態成員變量,這點容易讓人迷惑。

到此,關于“PHP中的變量類型和作用域詳解”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

勃利县| 五指山市| 曲水县| 浪卡子县| 石泉县| 城固县| 盐亭县| 彭州市| 邓州市| 广平县| 西畴县| 东平县| 高陵县| 塔河县| 青阳县| 子长县| 定州市| 鄂托克前旗| 密山市| 宜章县| 曲松县| 开阳县| 贵州省| 五家渠市| 桓台县| 西峡县| 内乡县| 汉源县| 长沙县| 佛山市| 神农架林区| 化州市| 西城区| 革吉县| 洛扎县| 建德市| 滨海县| 酒泉市| 北碚区| 青海省| 虹口区|