溫馨提示×

溫馨提示×

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

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

PHP中g(shù)lobal的作用是什么

發(fā)布時間:2021-01-13 15:45:28 來源:億速云 閱讀:305 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了PHP中g(shù)lobal的作用是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

一、實現(xiàn)原理
在PHP的函數(shù)中,global語法是比較常見的,大家一定都知道一旦在函數(shù)中g(shù)lobal了某個外部變量后,這個變量就可以在這個函數(shù)中使用了,但是也有不少網(wǎng)友不知道這是一個什么實現(xiàn)原理?,F(xiàn)在上一個例子,大家一看就知道了:

復(fù)制代碼 代碼如下:


$globalStr = '.net';

function globalTest(){

 global $globalStr;

 $globalStr = 'jb51'.$globalStr;

 unset($globalStr);

}

globalTest();

echo $globalStr; //輸入: jb51.net

從這個例子看出global了一個變量就等于傳遞了一個引用進來。這樣理解的話,下面的代碼輸出結(jié)果就不難理解了。

二、php中g(shù)lobal的作用 

復(fù)制代碼 代碼如下:


global $var1,$var2;


就是外部變量的同名引用,變量本身的作用范圍仍然在函數(shù)體內(nèi)。改變這些變量的值,外部的同名變量自然也改變。但一旦用了&,那么變量將不再是同名引用。

復(fù)制代碼 代碼如下:


<?php
$var1 = 1;
$var2 = 2;
function test()
{
    global $var1,$var2; // 作用范圍在函數(shù)體內(nèi)
    $var1 = 3;
}
test();
echo $var1;
?>


結(jié)果是 3。因為是同名引用。
 

復(fù)制代碼 代碼如下:


<?
$var1 = 1;
$var2 = 2;
function test()
{
    global $var1,$var2;
    $var1 = &var2;
}
test();
echo $var1
?>


結(jié)果是1。因為在函數(shù)內(nèi)的$var1經(jīng)過賦值后與$var2具有相同的引用了。進一步看下面的代碼。
 

復(fù)制代碼 代碼如下:


<?php 
$var1 = 1;   
$var2 = 2;   
function test_global()   
{   
    global $var1,$var2;   
    $var1=&$var2;   
    $var1=7;   
}
test_global();   
echo $var1;   
echo $var2;
?>


結(jié)果是1和7。因為在函數(shù)內(nèi)的$var1與$var2具有相同的引用。因此改變了$var1的值,$var2的值夜作了改變。

上述內(nèi)容就是PHP中g(shù)lobal的作用是什么,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

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

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

AI