溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php中全局變量和局部變量有哪些區(qū)別

發(fā)布時(shí)間:2021-09-18 09:56:08 來(lái)源:億速云 閱讀:161 作者:小新 欄目:編程語(yǔ)言

這篇文章主要為大家展示了“php中全局變量和局部變量有哪些區(qū)別”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“php中全局變量和局部變量有哪些區(qū)別”這篇文章吧。

區(qū)別:1、局部變量是在函數(shù)內(nèi)部定義的變量,只能在定義它的函數(shù)內(nèi)使用;而全局變量是定義在所有函數(shù)以外的變量,其作用域是當(dāng)前源碼的任何地方,但是在函數(shù)內(nèi)部是不可用的。2、局部變量會(huì)在函數(shù)調(diào)用結(jié)束時(shí)自動(dòng)銷毀,全局變量則在程序結(jié)束運(yùn)行時(shí)才會(huì)被銷毀。

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

變量的作用范圍(可以被使用的范圍)稱為變量作用域,變量必須在其有效范圍內(nèi)使用,如果超出有效范圍,變量就會(huì)失去其意義。按作用域可以將 PHP 變量分為全局變量和局部變量?jī)煞N。

可以在當(dāng)前源碼中任何地方(函數(shù)外部)使用的變量稱為全局變量,它們具有全局作用域;只能在對(duì)其進(jìn)行定義的函數(shù)內(nèi)部使用的變量稱為局部變量,它們具有局部作用域。

在 PHP 中,全局變量不能直接在函數(shù)內(nèi)部使用;而局部變量也不能直接在函數(shù)外部使用。當(dāng)然這也不是絕對(duì)的,通過(guò)一些方法還是可以實(shí)現(xiàn)在函數(shù)內(nèi)調(diào)用全局變量、在函數(shù)外調(diào)用局部變量的,這些我們會(huì)在后面的學(xué)習(xí)中介紹。

局部變量與局部作用域

局部變量就是在函數(shù)的內(nèi)部定義的變量,它只能在定義它的函數(shù)內(nèi)使用。局部變量會(huì)在函數(shù)調(diào)用結(jié)束時(shí)自動(dòng)銷毀。

【示例】下面定義一個(gè)名為 example 的函數(shù),并在函數(shù)內(nèi)部定義一個(gè)局部變量 a,然后分別在該函數(shù)內(nèi)部及函數(shù)外部嘗試輸出變量 a 的值,具體代碼如下:

<?php
header("Content-type:text/html;charset=utf-8");
function example() {
	$a = "歡迎來(lái)到億速云!";
	// 在函數(shù)內(nèi)定義變量 a
	echo "局部變量 a 的值為:" . $a . "<br>";
}

example();
if ($a) {// 在函數(shù)外部調(diào)用 $a,如果 $a 存在則會(huì)打印下面的內(nèi)容
	echo "在函數(shù)外部調(diào)用函數(shù)內(nèi)的局部變量 a,其值為:" . $a;
}
?>

運(yùn)行結(jié)果如下:

php中全局變量和局部變量有哪些區(qū)別

通過(guò)運(yùn)行結(jié)果可以看出,在函數(shù)外部并不能調(diào)用函數(shù)內(nèi)部定義的局部變量,因?yàn)榫植孔兞?$a 的作用域是定義它的 example() 函數(shù),在函數(shù)以外的地方無(wú)法使用。

全局變量與全局作用域

全局變量就是定義在所有函數(shù)以外的變量,其作用域是當(dāng)前源碼的任何地方,但是在函數(shù)內(nèi)部是不可用的。在程序運(yùn)行期間全局變量會(huì)一直存在,只有程序結(jié)束運(yùn)行時(shí)才會(huì)被銷毀。

【示例】定義一個(gè)全局變量 a,并分別在函數(shù)內(nèi)部和外部輸出全局變量的值,具體代碼如下:

<?php
header("Content-type:text/html;charset=utf-8");
$a = "歡迎來(lái)到億速云!";
// 在函數(shù)外部定義全局變量 a
function example() {
	if ($a) {
		echo "在函數(shù)內(nèi)部調(diào)用全局變量 a,其值為:" . $a;
	}
}

example();
echo "在函數(shù)外部調(diào)用全局變量 a,其值為:" . $a;
?>

運(yùn)行結(jié)果如下:

php中全局變量和局部變量有哪些區(qū)別

通過(guò)運(yùn)行結(jié)果可以看出,在函數(shù)內(nèi)部并沒(méi)有成功調(diào)用到 $a,但是在函數(shù)外部可以。

以上是“php中全局變量和局部變量有哪些區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI