淺析php中常量,變數的範圍和生存周期_php技巧

來源:互聯網
上載者:User

在PHP指令碼中變數主要有:內建超級全域變數,一般的變數,常量,全域變數,靜態變數等等,我們在使用它們的時候除了要正確地知道它們的文法以外,更重要的是,我們要知道它們在本質上的區別與聯絡—即它們的範圍的問題。

1.內建超級全域變數可以在指令碼的任何地方使用和可見。即是說,如果我們在一個PHP頁面中改變了其中的一個值,那麼在其他PHP頁面中使用時,它的值也會發生改變。

2.常量一旦被聲明將可以在全域可見,也就是說,它們可以函數內外使用,但是這僅僅限於一個頁面之中(包含我們通過include和include_once)包含進來的PHP指令碼,但是在其他的頁面之中就不能使用了。

3.在一個指令碼中聲明的全域變數在整個指令碼中是可見的,但不是在函數內部,在函數內部的變數如果與全域變數名稱相同,以函數內部的變數為準。

4.函數內部使用的變數聲明為全域變數時,其名稱要與全域變數的名稱一致,在這樣的情況下,我們就可以在函數中使用函數外部的全域變數了,這樣就可以避免上一種因為函數內部的變數與外部的全域變數名稱相同而覆蓋了外部變數這樣的情況。

5.在函數內部建立並聲明為靜態變數無法在函數外部可見,但是可以在函數的多次執行過程中保持該值,最常見的情況就是在函數的遞迴執行的過程之中。

6.在函數內部建立的變數對函數來說是本地的,而當函數終止時,該變數也就不存在了。

超級全域變數的完整列表如下:
1.$GOBALS  所有全域變數數組
2.$_SERVER  伺服器環境變數數組
3.$_POST  通過POST方法傳遞給該指令碼的變數數組
4.$_GET  通過GET方法傳遞給該指令碼的變數數組
5.$_COOKIE  cookie變數數組
6.$_FILES  與檔案上傳相關的變數數組
7.$ENV 環境變數數組
8.$_REQUEST 所有使用者輸入的變數數組包括$_GET $_POST $_COOKIE 所包含的輸入內容
9.$_SESSION  會話變數數組

我們要注意的是:變數和常量另一個重要的差異是:常量只可以定義boolean(布爾型),integer(整型),float(浮點型) 和 string(字串型)資料,但不能定義 resource類型的資料。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.