一区二区日本_久久久久久久国产精品_无码国模国产在线观看_久久99深爱久久99精品_亚洲一区二区三区四区五区午夜_日本在线观看一区二区

PHP 變量的作用域含代碼

PHP 變量的作用域

變量的作用域被定義為程序中可以訪問(wèn)到它的范圍。愛(ài)掏網(wǎng) - it200.com換句話說(shuō),”變量的作用域是在其定義和可以訪問(wèn)的程序部分內(nèi)”。愛(ài)掏網(wǎng) - it200.com

PHP有三種類型的變量作用域:

  1. 局部變量
  2. 全局變量
  3. 靜態(tài)變量

在函數(shù)內(nèi)部聲明的變量稱為該函數(shù)的局部變量。愛(ài)掏網(wǎng) - it200.com這些局部變量的作用域僅限于它們聲明的特定函數(shù)內(nèi)部。愛(ài)掏網(wǎng) - it200.com這意味著這些變量無(wú)法在函數(shù)外部訪問(wèn),因?yàn)樗鼈兙哂芯植孔饔糜颉?b class="xhide">愛(ài)掏網(wǎng) - it200.com

與函數(shù)內(nèi)部聲明的變量不同,函數(shù)外部以相同名稱聲明的變量是完全不同的。愛(ài)掏網(wǎng) - it200.com讓我們通過(guò)一個(gè)示例來(lái)理解局部變量:

文件:local_variable1.php

<?php
    function local_var()
    {
        num = 45;  //local variable
        echo "Local variable declared inside the function is: ".num;
    }
    local_var();
?>

輸出:

Local variable declared inside the function is: 45

文件:local_variable2.php

<?php
    function mytest()
    {
        lang = "PHP";
        echo "Web development language: " .lang;
    }
    mytest();
    //using lang (local variable) outside the function will generate an error
    echolang;
?>

輸出:

Web development language: PHP
Notice: Undefined variable: lang in D:\xampp\htdocs\program\p3.php on line 28

全局變量

全局變量是在函數(shù)外部聲明的變量。愛(ài)掏網(wǎng) - it200.com這些變量可以在程序的任何地方訪問(wèn)。愛(ài)掏網(wǎng) - it200.com要在函數(shù)內(nèi)部訪問(wèn)全局變量,請(qǐng)?jiān)谧兞壳笆褂肎LOBAL關(guān)鍵字。愛(ài)掏網(wǎng) - it200.com然而,這些變量也可以直接在函數(shù)外部訪問(wèn)或使用,無(wú)需任何關(guān)鍵字。愛(ài)掏網(wǎng) - it200.com因此,無(wú)需使用任何關(guān)鍵字來(lái)訪問(wèn)函數(shù)外部的全局變量。愛(ài)掏網(wǎng) - it200.com

讓我們通過(guò)一個(gè)示例來(lái)理解全局變量:

示例

文件:global_variable1.php

<?php
    name = "Sanaya Sharma";        //Global Variable
    function global_var()
    {
        globalname;
        echo "Variable inside the function: ". name;
        echo "</br>";
    }
    global_var();
    echo "Variable outside the function: ".name;
?>

輸出:

Variable inside the function: Sanaya Sharma
Variable outside the function: Sanaya Sharma

注意:如果不使用global關(guān)鍵字,在函數(shù)內(nèi)部嘗試訪問(wèn)全局變量時(shí)會(huì)產(chǎn)生一個(gè)錯(cuò)誤,提示變量未定義。愛(ài)掏網(wǎng) - it200.com

示例

文件:global_variable2.php

<?php
    name = "Sanaya Sharma";        //global variable
    function global_var()
    {
        echo "Variable inside the function: ".name;
        echo "</br>";
    }
    global_var();
?>

輸出:

Notice: Undefined variable: name in D:\xampp\htdocs\program\p3.php on line 6
Variable inside the function:

使用$GLOBALS而不是global

在函數(shù)內(nèi)部使用全局變量的另一種方式是預(yù)定義的$GLOBALS數(shù)組。愛(ài)掏網(wǎng) - it200.com

示例:

文件:global_variable3.php

<?php
    num1 = 5;      //global variablenum2 = 13;     //global variable
    function global_var()
    {
            sum =GLOBALS['num1'] + GLOBALS['num2'];
            echo "Sum of global variables is: " .sum;
    }
    global_var();
?>

輸出:

Sum of global variables is: 18

如果兩個(gè)變量local和global有相同的名稱,那么在函數(shù)內(nèi),局部變量比全局變量具有更高的優(yōu)先級(jí)。愛(ài)掏網(wǎng) - it200.com

示例:

文件:global_variable2.php

<?php
    x = 5;
    function mytest()
    {x = 7;
        echo "value of x: " .$x;
    }
    mytest();
?>

輸出:

Value of x: 7

注意:本地變量?jī)?yōu)先于全局變量。愛(ài)掏網(wǎng) - it200.com

靜態(tài)變量

PHP有一個(gè)特性,即在變量執(zhí)行完畢并釋放內(nèi)存后會(huì)刪除變量。愛(ài)掏網(wǎng) - it200.com有時(shí)候,我們需要在函數(shù)執(zhí)行完畢后仍然保留變量。愛(ài)掏網(wǎng) - it200.com因此,變量作用域的另一個(gè)重要特性是靜態(tài)變量。愛(ài)掏網(wǎng) - it200.com我們?cè)谧兞壳懊媸褂胹tatic關(guān)鍵字定義一個(gè)變量,這個(gè)變量被稱為 靜態(tài)變量愛(ài)掏網(wǎng) - it200.com

靜態(tài)變量只存在于局部函數(shù)中,并且在程序執(zhí)行離開(kāi)作用域后不釋放其內(nèi)存。愛(ài)掏網(wǎng) - it200.com通過(guò)以下示例來(lái)理解:

示例

文件:static_variable.php

<?php
    function static_var()
    {
        static num1 = 3;       //static variablenum2 = 6;          //Non-static variable
        //increment in non-static variable
        num1++;
        //increment in static variablenum2++;
        echo "Static: " .num1 ."</br>";
        echo "Non-static: " .num2 ."</br>";
    }

//first function call
    static_var();

    //second function call
    static_var();
?>

輸出:

Static: 4
Non-static: 7
Static: 5
Non-static: 7

你必須注意,在每次函數(shù)調(diào)用后,num1會(huì)定期遞增,而num2不會(huì)。愛(ài)掏網(wǎng) - it200.com這是因?yàn)?num1不是一個(gè)靜態(tài)變量,所以它在每次函數(shù)調(diào)用后釋放了內(nèi)存。愛(ài)掏網(wǎng) - it200.com

聲明:所有內(nèi)容來(lái)自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評(píng)論
更多 網(wǎng)友評(píng)論0 條評(píng)論)
暫無(wú)評(píng)論

返回頂部

主站蜘蛛池模板: 国产成人精品一区二区三区在线观看 | 亚洲精品久久久久久久久久久 | 精品99视频| av黄色在线观看 | 日韩高清在线播放 | 欧美精品网 | 日韩午夜在线 | аⅴ资源新版在线天堂 | 国产性猛交96 | 国产永久视频 | 懂色av色吟av夜夜嗨 | 在线免费观看黄色片 | 美女久久久久 | 玖玖伊人 | 日本免费观看视频 | 欧美一级做性受免费大片免费 | 久久精品2| 欧美1区2区 | 欧美三级韩国三级日本三斤在线观看 | 欧美啪啪网 | 在线视频99| 一区二区精品在线 | 久久riav| 国产日韩欧美在线 | 中文字幕不卡视频 | 午夜免费av| 色噜噜狠狠一区二区三区 | 四虎精品视频 | aaa国产精品 | 国 产 黄 色 大 片 | 欧美黄色录像 | 91av视频 | 法国极品成人h版 | 国产一级片免费看 | 亚洲精品一区二三区 | 最新国产精品视频 | 国产一区二区三区在线 | 国产成人免费在线观看 | 亚洲综合视频在线 | 国产视频一二区 | 亚洲免费在线观看视频 |