在PHP的函數中,global語法是比較常見的,大家一定都知道一旦在函數中global了某個外部變量后,這個變量就可以在這個函數中使用了,但是也有不少網友不知道這是一個什么實現原理。現在上一個例子,大家一看就知 " /> 国产精品伊人,av在线观看网站免费,日韩一级精品久久久久

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

深入理解PHP中的global

一、實現原理
php的函數中,global語法是比較常見的,大家一定都知道一旦在函數中global了某個外部變量后,這個變量就可以在這個函數中使用了,但是也有不少網友不知道這是一個什么實現原理。現在上一個例子,大家一看就知道了:
復制代碼 代碼如下:
$globalStr = '.NET';

function globalTest(){

 global $globalStr;

 $globalStr = 'jb51'.$globalStr;

 unset($globalStr);

}

globalTest();

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

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

二、php中global的作用 
復制代碼 代碼如下:
global $var1,$var2;

就是外部變量的同名引用,變量本身的作用范圍仍然在函數體內。改變這些變量的值,外部的同名變量自然也改變。但一旦用了&,那么變量將不再是同名引用。
復制代碼 代碼如下:
<?php
$var1 = 1;
$var2 = 2;
function test()
{
    global $var1,$var2; // 作用范圍在函數體內
    $var1 = 3;
}
test();
echo $var1;
?>
結果是 3。因為是同名引用。
 復制代碼 代碼如下:
<?
$var1 = 1;
$var2 = 2;
function test()
{
    global $var1,$var2;
    $var1 = &var2;
}
test();
echo $var1
?>
結果是1。因為在函數內的$var1經過賦值后與$var2具有相同的引用了。進一步看下面的代碼。
 復制代碼 代碼如下:
<?php 
$var1 = 1;   
$var2 = 2;   
function test_global()   
{   
    global $var1,$var2;   
    $var1=&$var2;   
    $var1=7;   
}
test_global();   
echo $var1;   
echo $var2;
?>
結果是1和7。因為在函數內的$var1與$var2具有相同的引用。因此改變了$var1的值,$var2的值夜作了改變。

php技術深入理解PHP中的global,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 扒开美女嫩bbb | 色综合久久天天影视网 | 亚洲午夜无码久久久久蜜臀av | 囯产精品久久久久久久久免费蜜桃 | 国产一级毛片在线 | 丝瓜视频樱桃视频在线观看免费 | 久久久久久天天夜夜天天 | 武侠古典久久亚洲精品 | 伊人精品视频直播 | 老师的蕾丝小内内湿透了 | 不用播放器的黄 | 好紧好湿太硬了我太爽了小说 | 亚洲精品AV一二三区无码 | 紧缚束缚调教丨vk | 欧美日韩亚洲综合2019 | 超污视频带污疼免费视频 | 成人免费精品视频 | 女教师跟黑人男朋友激情过后 | 日本美女毛茸茸 | 芭乐视频免费资源在线观看 | 青春禁区动漫免费观看 | 日本xxx在线观看免费播放 | 国模啪啪久久久久久久 | 99草在线观看 | 亚洲专区中文字幕视频专区 | 午夜色情影院色a国产 | 国产成人久久婷婷精品流白浆 | 久久国产欧美 | 亚洲AV精品无码国产一区 | 小草观看免费高清视频 | 亚洲AV 日韩 国产 有码 | 国产乱码二卡3卡四卡 | 欧美日韩888在线观看 | 欧美成人国产 | 久青草国产在线视频 | 久久丫线这里只精品 | 菠萝菠萝蜜免费播放高清 | 97无码人妻精品1国产精东影业 | 久热这里只有精品99国产6 | 性色欲情网站IWWW九文堂 | 久久九九精品国产自在现线拍 |