PHP中global,$GLOBALS的比較

一直對這兩個變量比較迷惑,今天寫了一個程序,測試了一下,總算明白了。

    代碼:

<?php $GLOBALS['test'] = "i am valid.";

function testFun1() {  echo "i am in testFun1().<br/>";

    echo '$GLOBALS is '.$GLOBALS['test'].'<br/>';

 unset($GLOBALS['test']);  echo '$GLOBALS is '.$GLOBALS['test'].'<br/>'; }

function testFun2() {  echo "i am in testFun2().".'<br/>';     global $test;

 $test = "changed";    echo '$GLOBALS is '.$GLOBALS['test'].'<br/>';

 unset($test);

 echo "global test is ".$test.'<br/>'  echo '$GLOBALS is '.$GLOBALS['test'].'<br/>'; }

testFun1(); testFun2(); ?>

結果:

i am in testFun1(). $GLOBALS is i am valid. $GLOBALS is i am in testFun2(). $GLOBALS is changed global test is $GLOBALS is changed


引用他人的一句話:

也就是說global $var其實就是$var = &$GLOBALS['var']。調用外部變量的一個別名而已

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章