国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > PHP > 正文

深入理解PHP中的global

2024-05-04 23:24:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了深入理解PHP中的global,用簡(jiǎn)明的語(yǔ)言描述global的實(shí)現(xiàn)原理和作用,并給出了代碼示例,需要的朋友可以參考下
 
 

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

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

$globalStr = '.net';

 

function globalTest(){

 global $globalStr;

 $globalStr = 'jb51'.$globalStr;

 unset($globalStr);

}

globalTest();

echo $globalStr; //輸入: vevb.com


從這個(gè)例子看出global了一個(gè)變量就等于傳遞了一個(gè)引用進(jìn)來(lái)。這樣理解的話,下面的代碼輸出結(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。因?yàn)槭峭谩?br />  
復(fù)制代碼代碼如下:

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

結(jié)果是1。因?yàn)樵诤瘮?shù)內(nèi)的$var1經(jīng)過賦值后與$var2具有相同的引用了。進(jìn)一步看下面的代碼。
 
復(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。因?yàn)樵诤瘮?shù)內(nèi)的$var1與$var2具有相同的引用。因此改變了$var1的值,$var2的值夜作了改變。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 中山市| 长汀县| 福鼎市| 栾川县| 池州市| 桂东县| 西峡县| 文山县| 曲沃县| 高要市| 平泉县| 遂平县| 冕宁县| 美姑县| 昭平县| 仲巴县| 承德县| 额敏县| 班戈县| 夏河县| 衡山县| 新疆| 合肥市| 乳山市| 鹤岗市| 依安县| 榆社县| 苍山县| 两当县| 吴旗县| 昌邑市| 高清| 五原县| 合阳县| 循化| 合肥市| 诸暨市| 枣庄市| 公安县| 东兴市| 安远县|