PHP 中的每個變數都有一個針對它的作用域,它是指可以在其中存取變數(從而存取它的值)的一個領域。
對初學者來說,變數的作用域是它們所駐留的頁面。因此, 如果你定義了 $var,頁面餘下部分就可以存取 $var,但是,其它頁面一般不能訪問它(除非使用特殊的變數)。 (建議學習:PHP程式設計從入門到精通)
因為包含檔案像它們是原始(包含)腳本的一部分那樣工作,所以在include() 那一行之前定義的變量可供包含文件使用。此外,包含檔案內定義的變數可供 include() 那一行之後的父(包含)腳本使用。
當使用你自己定義的函數時,所有這些都會變得不那麼明顯。這些函數具有它們自己的作用域,這意味著在一個函數內使用的變數不能在其外部使用,在一個函數 外部定義的變數不能在其內部使用。由於這個原因,函數內部的變數可以具有與其外部的變數相同的名稱,但是它們仍然是完全不同的變量,並且具有不同的值。對 大多數初級程式設計師來說,這是一個使人糊塗的概念。
要改變一個函數內的變數的作用域,可以使用 global 語句。
<?php function function_name() { global $var; } $var = 20; function_name(); // Function call. ?>
在這個範例中,函數內部的 $var 現在與函數外部的 $var 相同。這表示變數 $var 已經有一個值20,如果在函數內部改變了這個值,外部的 $var 值也會改變。
避開變數作用域的另一個方法是利用超全域變數:$_GET、$_POST、$_REQUEST 等。這些變數在你的函數內是自動可存取的(因此,它們是超全域變數)。也可以將元素添加到 $GLOBALS 陣列中,使得可以在函數內使用它們。
也就是說,最好不要在函數內使用全域變數。在設計函數時,應該使它們根據需要接受每個值作為參數,並根據需要傳回任何值。依靠函數內的全域變數將使得它們更依賴上下文,因而不太有用。
常數一旦被宣告將可以在全域可見,也就是說,它們可以函數內外使用,但是這僅限於一個頁面之中(包含我們透過include和include_once)包含進來的PHP腳本,但是在其他的頁面中就不能使用了。
以上是php常數的作用域的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Dreamweaver CS6
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器