這次我們不再學習PHP中的定界符,本篇文章開始介紹超級全局變量,有需要的小伙伴可以參考參考,希望大家越來越熟悉php啦。
不過在介紹$GLOBALS
之前讓我們先看看什么叫超級全局變量
。
全局變量是編程術語之一,它來源于變量的劃分。變量分為局部變量和全局變量,局部變量也可以稱為內部變量。由對象或函數(shù)創(chuàng)建的變量通常是局部變量,只能在內部引用,而不能由其他對象或函數(shù)引用。
全局變量可以由對象函數(shù)或此程序中的任何位置創(chuàng)建。此程序的所有對象或函數(shù)都可以引用全局變量。當一個局部變量被其他對象引用時,它將是一個空值。全局變量不會發(fā)生這種情況。
全局變量是在函數(shù)外部定義的變量。不能直接在函數(shù)中使用。因為它的作用域不會進入函數(shù)內部。而PHP預定義的超級全局變量,在腳本的所有范圍內都可用??梢栽诤瘮?shù)和類中使用它,而無需特殊說明。
知道超級全局變量是什么之后,我們開始正題,去看看$GLOBALS。
首先看看一個小例子。
?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
結果是
100
我們觀察一下例子,這個z的結果就是x+y,但是他沒有想像平常的四則運算那么寫,而是“$GLOBALS['x'] + $GLOBALS['y']
”,這代表什么意思呢?
其實$GLOBALS是包含所有變量的全局組合數(shù)組,變量的名稱就是數(shù)組的鍵,并且我們可以在PHP腳本的所有范圍內訪問它。只要是出現(xiàn)過的全局變量,就可以通過$GLOBALS這個數(shù)組取得。
PHP生命周期中,定義在函數(shù)體外部的所謂全局變量,函數(shù)內部是不能直接獲得的。
global和$GLOBALS的區(qū)別在于:
global在函數(shù)中生成一個別名變量,該變量指向函數(shù)的外部變量,而不是函數(shù)的實際外部變量。
$GLOBALS[]調用是一個外部變量,函數(shù)的內部和外部總是一致的。
對于類中的成員變量,必須以$this->
而不是$GLOBALS的方式訪問類中的函數(shù):
global用于定義全局變量,但此全局變量不應用于整個網(wǎng)站,而是應用于當前頁面,包括include或require的所有文件。
就說到這里了,有其他想知道的,可以點擊這個哦?!?→php視頻教程