1. 程式人生 > >php全域性變數

php全域性變數

使用關鍵字global進行全域性變數標識;注意:不能在用global宣告變數的同時給變數賦值。像global $name = "Tom"的使用方式是錯誤的。

<?php

    global $name;

    $name = "Tom";

    function changeName(){

        $name = "John";

    }
    changeName();

    echo "my name is " . $name . "<br/>";

?>

 

定義全域性變數後執行的結果仍然為my name is Tom,這個結果

出乎意料。原來,global的正確用法是:"在一個函式中引入外部的一個變數,如果該變數沒有通過引數傳遞進來,那麼就通過global引入進來。" 也就是說,當一個函式引用一個外部變數時,可以在函式內通過global來宣告該變數,這樣該變數就可以在函式中使用了(相當於當作引數傳遞進來)。那麼,再次修改程式碼:

<?php

    $name = "Tom";

    function changeName(){

        global $name;

        $name = "John";

    }

    changeName();

    echo "my name is " . $name
. "<br/>"; ?>

 

這次的執行結果是:my name is John,說明global是起傳遞引數的作用,而並非使變數的作用域為全域性