搜尋
首頁後端開發PHP問題php常數的作用域

php常數的作用域

Sep 09, 2019 am 09:24 AM
php

PHP 中的每個變數都有一個針對它的作用域,它是指可以在其中存取變數(從而存取它的值)的一個領域。

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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

SublimeText3 Mac版

SublimeText3 Mac版

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

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器