最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解PHP中的global

 更新時間:2014年08月19日 08:56:33   投稿:junjie  
這篇文章主要介紹了深入理解PHP中的global,用簡明的語言描述global的實(shí)現(xiàn)原理和作用,并給出了代碼示例,需要的朋友可以參考下

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

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

$globalStr = '.net';

function globalTest(){

 global $globalStr;

 $globalStr = 'jb51'.$globalStr;

 unset($globalStr);

}

globalTest();

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


從這個例子看出global了一個變量就等于傳遞了一個引用進(jìn)來。這樣理解的話,下面的代碼輸出結(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的值夜作了改變。

相關(guān)文章

最新評論

洞头县| 偃师市| 广饶县| 元氏县| 云浮市| 莒南县| 太和县| 新竹市| 聂荣县| 百色市| 淳化县| 晋州市| 鹿邑县| 黑龙江省| 新巴尔虎右旗| 杭锦旗| 横山县| 卢湾区| 远安县| 介休市| 丰城市| 越西县| 屯昌县| 修文县| 岳阳市| 慈溪市| 巴里| 宜都市| 乐安县| 武清区| 黔东| 林芝县| 庆阳市| 宣威市| 平江县| 嘉善县| 蒲城县| 隆德县| 宣城市| 桂林市| 永宁县|