區別:1、局部變數是在函數內部定義的變量,只能在定義它的函數內使用;而全域變數是定義在所有函數以外的變量,其作用域是目前原始碼的任何地方,但是在函數內部是不可用的。 2.局部變數會在函數呼叫結束時自動銷毀,全域變數則在程式結束運行時才會被銷毀。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
變數的作用範圍(可以被使用的範圍)稱為變數作用域,變數必須在其有效範圍內使用,如果超出有效範圍,變數就會失去其意義。依作用域可以將 PHP 變數分為全域變數和局部變數兩種。
可以在目前原始碼中任何地方(函數外部)使用的變數稱為全域變量,它們具有全域作用域;只能在對其進行定義的函數內部使用的變數稱為局部變量,它們具有局部作用域。
在 PHP 中,全域變數不能直接在函數內部使用;而局部變數也不能直接在函數外部使用。當然這也不是絕對的,透過一些方法還是可以實現在函數內呼叫全域變數、在函數外呼叫局部變數的,這些我們會在後面的學習中介紹。
局部變數與局部作用域
局部變數就是在函數的內部定義的變數,它只能在定義它的函數內使用。局部變數會在函數呼叫結束時自動銷毀。
【範例】下方定義一個名為example 的函數,並在函數內部定義一個局部變數a,然後分別在該函數內部及函數外部嘗試輸出變數a 的值,具體程式碼如下:
<?php header("Content-type:text/html;charset=utf-8"); function example() { $a = "欢迎来到PHP中文网!"; // 在函数内定义变量 a echo "局部变量 a 的值为:" . $a . "<br>"; } example(); if ($a) {// 在函数外部调用 $a,如果 $a 存在则会打印下面的内容 echo "在函数外部调用函数内的局部变量 a,其值为:" . $a; } ?>
運行結果如下:
透過運行結果可以看出,在函數外部並不能呼叫函數內部定義的局部變數,因為局部變數$a 的作用域是定義它的example() 函數,在函數以外的地方無法使用。
全域變數與全域作用域
全域變數就是定義在所有函數以外的變量,其作用域是目前原始碼的任何地方,但是在函數內部是不可用的。在程式運行期間全域變數會一直存在,只有程式結束執行時才會被銷毀。
【範例】定義一個全域變數a,並分別在函數內部和外部輸出全域變數的值,具體程式碼如下:
<?php header("Content-type:text/html;charset=utf-8"); $a = "欢迎来到PHP中文网!"; // 在函数外部定义全局变量 a function example() { if ($a) { echo "在函数内部调用全局变量 a,其值为:" . $a; } } example(); echo "在函数外部调用全局变量 a,其值为:" . $a; ?>
運行結果如下:
透過運行結果可以看出,在函數內部並沒有成功呼叫到$a,但是在函數外部可以。
推薦學習:《PHP影片教學》
以上是php中全域變數和局部變數的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!