久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      php全局變量如何使用

      php全局變量的使用方法:可以在函數(shù)內(nèi)通過global來聲明該變量,代碼為【$name = "why";function changeName(){global $name;$name = "what";}】。

      php全局變量如何使用

      php全局變量的使用方法:

      1、全局變量的global的定義和使用

        最初,我的需求是這樣的:

      <?php $name = "why"; function changeName(){     $name = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>

        執(zhí)行代碼的結(jié)果是:my name is why,而不是執(zhí)行changeName()后顯示what。分析原因,這是因為函數(shù)體changeName內(nèi)$name變量被缺省設(shè)置為局部變量,$name的作用域就是在changeName內(nèi)。于是,修改代碼,添加全局變量如下:

      <?php global $name; $name = "why"; function changeName(){     $name = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>

        注意:不能在用global聲明變量的同時給變量賦值。像global $name = "why"的使用方式是錯誤的。

        定義全局變量后執(zhí)行的結(jié)果仍然為my name is why,這個結(jié)果讓我吃驚。原來,global的正確用法是:"在一個函數(shù)中引入外部的一個變量,如果該變量沒有通過參數(shù)傳遞進來,那么就通過global引入進來。" 也就是說,當(dāng)一個函數(shù)引用一個外部變量時,可以在函數(shù)內(nèi)通過global來聲明該變量,這樣該變量就可以在函數(shù)中使用了(相當(dāng)于當(dāng)作參數(shù)傳遞進來)。那么,再次修改代碼:

      <?php $name = "why"; function changeName(){     global $name;     $name = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>

        這次的運行結(jié)果是:my name is what,說明global是起傳遞參數(shù)的作用,而并非使變量的作用域為全局。再看下面的例子:

      <?php $name = "why"; function changeName(){     global $name;     $name = "what"; } function changeName2(){     $name = "where"; } changeName(); changeName2(); echo "my name is " . $name . "<br/>"; ?>

        執(zhí)行結(jié)果為:my name is what,如果在changeName2()中添加global $name,運行結(jié)果則是:my name is where。

        綜上,global的作用就相當(dāng)于傳遞參數(shù),在函數(shù)外部聲明的變量,如果在函數(shù)內(nèi)想要使用,就用global來聲明該變量,這樣就相當(dāng)于把該變量傳遞進來了,就可以引用該變量了。

        除了使用global參數(shù)定義外,還可以使用超全局變量$GLOBAL:

      <?php $name = "why"; function changeName(){     $GLOBALS['name'] = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>

      2、global和$GLOBAL

      一個例子:

      <?php $var1 = 1; $var2 = 2; function test1(){     $GLOBALS['var2'] = &$GLOBALS['var1']; } test1(); echo $var2 . "<br />"; $var3 = 1; $var4 = 2; function test2(){     global $var3,$var4;     $var4 = &$var3; } test2(); echo $var4 . "<br />"; ?>

        輸出$var2的值為1,$var4的值為2,因為$var3的引用指向了$var4的引用地址。$var4的實際值并沒有改變。官方的解釋是:$GLOBALS['var']是外部的全局變量本身,global $var是外部$var的同名引用或者指針。意味著$GLOBAL在一個腳本的全部作用域中都可用,在函數(shù)或方法中無需執(zhí)行g(shù)lobal $variable; 就可以訪問它們。與所有其他超全局變量不同,$GLOBALS在PHP中總是可用的。另一個例子:

      <?php $var1 = 1; function test1(){     unset($GLOBALS['var1']); } test1(); echo $var1 . "<br />"; $var2 = 1; function test2(){     global $var2;     unset($var2); } test2(); echo $var2; ?>

        輸出結(jié)果是$var1不存在,而$var2的值為1。這就證明,$var2只是別名引用,本身的值沒有受到任何的改變。也就是說global $var其實就是$var = &$GLOBALS['var'],調(diào)用外部變量的一個別名而已!

      想了解

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號