首頁 > PHP教程 > PHP 變量
此章節介紹:

    PHP 變量

    變量是存儲信息的容器:

    實例

    <?php
    $x=5;
    $y=6;
    $z=$x+$y;
    echo?$z;
    ?>



    類似代數

    x=5
    y=6
    z=x+y

    在代數中我們使用字母(比如 x)來保存值(比如 5)。

    從上面的表達式 z=x+y,我們能夠計算出 z 的值是 11。

    在 PHP 中,這三個字母被稱為變量。

    注釋:請把變量視為存儲數據的容器。


    PHP 變量

    正如代數,PHP 變量可用于保存值(x=5)和表達式(z=x+y)。

    變量的名稱可以很短(比如 x 和 y),也可以取更具描述性的名稱(比如 carname、total-volume)。

    PHP 變量規則:

    • 變量以 $ 符號開頭,其后是變量的名稱
    • 變量名稱必須以字母或下劃線開頭
    • 變量名稱不能以數字開頭
    • 變量名稱只能包含字母數字字符和下劃線(A-z、0-9 以及 ?-)
    • 變量名稱對大小寫敏感($y 與 $Y 是兩個不同的變量)

    注釋:PHP 變量名稱對大小寫敏感!


    創建 PHP 變量

    PHP 沒有創建變量的命令。

    變量會在首次為其賦值時被創建:

    實例

    <?php
    $txt="Hello?world!";
    $x=5;
    $y=10.5;
    ?>


    以上語句執行后,變量 txt 會保存值 Hello world!,變量 x 會保存值 5,變量 y 會保存值 10.5。

    注釋:如果您為變量賦的值是文本,請用引號包圍該值。


    PHP 是一門類型松散的語言

    在上面的例子中,請注意我們不必告知 PHP 變量的數據類型。

    PHP 根據它的值,自動把變量轉換為正確的數據類型。

    在諸如 C 和 C++ 以及 Java 之類的語言中,程序員必須在使用變量之前聲明它的名稱和類型。


    PHP 變量作用域

    在 PHP 中,可以在腳本的任意位置對變量進行聲明。

    變量的作用域指的是變量能夠被引用/使用的那部分腳本。

    PHP 有三種不同的變量作用域:

    • local(局部)
    • global(全局)
    • static(靜態)

    Local 和 Global 作用域

    函數之外聲明的變量擁有 Global 作用域,只能在函數以外進行訪問。

    函數內部聲明的變量擁有 LOCAL 作用域,只能在函數內部進行訪問。

    下面的例子測試了帶有局部和全局作用域的變量:

    實例

    <?php
    $x=5;?//?全局作用域
    
    function?myTest()?{
    ??$y=10;?//?局部作用域
    ??echo?"<p>測試函數內部的變量:</p>";
    ??echo?"變量?x?是:$x";
    ??echo?"<br>";
    ??echo?"變量?y?是:$y";
    }?
    
    myTest();
    
    echo?"<p>測試函數之外的變量:</p>";
    echo?"變量?x?是:$x";
    echo?"<br>";
    echo?"變量?y?是:$y";
    ?>


    在上例中,有兩個變量 $x 和 $y,以及一個函數 myTest()。$x 是全局變量,因為它是在函數之外聲明的,而 $y 是局部變量,因為它是在函數內聲明的。

    如果我們在 myTest() 函數內部輸出兩個變量的值,$y 會輸出在本地聲明的值,但是無法 $x 的值,因為它在函數之外創建。

    然后,如果在 myTest() 函數之外輸出兩個變量的值,那么會輸出 $x 的值,但是不會輸出 $y 的值,因為它是局部變量,并且在 myTest() 內部創建。

    注釋:您可以在不同的函數中創建名稱相同的局部變量,因為局部變量只能被在其中創建它的函數識別。


    PHP global 關鍵詞

    global 關鍵詞用于在函數內訪問全局變量。

    要做到這一點,請在(函數內部)變量前面使用 global 關鍵詞:

    實例

    <?php
    $x=5;
    $y=10;
    
    function?myTest()?{
    ??global?$x,$y;
    ??$y=$x+$y;
    }
    
    myTest();
    echo?$y;?//?輸出?15
    ?>


    PHP 同時在名為 $GLOBALS[index] 的數組中存儲了所有的全局變量。下標存有變量名。這個數組在函數內也可以訪問,并能夠用于直接更新全局變量。

    上面的例子可以這樣重寫:

    實例

    <?php
    $x=5;
    $y=10;
    
    function?myTest()?{
    ??$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    }?
    
    myTest();
    echo?$y;?//?輸出?15
    ?>



    PHP static 關鍵詞

    通常,當函數完成/執行后,會刪除所有變量。不過,有時我需要不刪除某個局部變量。實現這一點需要更進一步的工作。

    要完成這一點,請在您首次聲明變量時使用 static 關鍵詞:

    實例

    <?php
    
    function?myTest()?{
    ??static?$x=0;
    ??echo?$x;
    ??$x++;
    }
    
    myTest();
    myTest();
    myTest();
    
    ?>


    然后,每當函數被調用時,這個變量所存儲的信息都是函數最后一次被調用時所包含的信息。

    注釋:該變量仍然是函數的局部變量。

    日本一卡2卡3卡四卡精品网站,欧美一卡2卡3卡4卡国色天香在线,精品一卡二卡≡卡四卡精品,欧美一卡2卡3卡4卡国色天香在线,小小视频在线观看