<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                我們通過5.1章節的函數定義部份的學習我們知道了幾個不同的規矩: 1. 函數定義時后括號里面接的變量是形式上的參數(形參),與函數體外的變量沒有任何關系。僅僅是在函數內部執行 2. 函數內聲明的變量也與函數外的變量沒關系。 但是,我們實際的處理情況中會遇到這樣的一個情況: 1. 我想在函數體內定義的變量在函數體外用 2. 我想把函數體外的變量拿到函數體內來使用 這個時候我們就需要用到超全局變量。我們來回顧一下之前的知識點: | 全局變量名 | 功能說明 | | -- | -- | | $_COOKIE | 得到會話控制中cookie傳值 | | $_SESSION | 得到會話控制中session的值 | | $_FILES | 得到文件上傳的結果 | | $_GET | 得到get傳值的結果 | | $_POST | 得到post傳值的結果 | | $_REQUEST | 即能得到get的傳值結果,也能得到Post傳值的結果 | 我們來通過實驗來觀察 一下外部變量(超全局變量)的特點,打破本章開頭我們總結的規律: 我們定義一下global.html頁現來寫HTML內容: ~~~ <html> <head> <title>超全局數組實驗</title> </head> <body> <!--先用POST來實驗,以后你可以改成GET喲 --> <form action="glob.php" method="post"> <input type="text" name="hongniu" /><br /> <input type="submit" value="提交" /> </form> </body> </html> ~~~ 我們將html的內容通過form表單提交給了glob.php頁面,我們現在來寫glob.php: <?php function demo(){ echo $_POST['hongniu']; } demo(); ?> 通過這個小例子,你會發現超全局的$_POST等這一系列的超全局變量(外部變量)在函數內部也是可以用的。沒有本文開始處變量作用域的限制。 其實我們所有聲明的變量都放到了$GLOBALS這個數組下面,舉個例子: ~~~ <?php $hello = 10; echo $GLOBALS['hello'].'<br />'; $GLOBALS['hello'] = '我愛你'; echo $hello; ?> ~~~ 通過上例,你會發現$變量名是等價于$GLOBALS['變量名'] 。所有的變量都放到了$GLOBALS里面了。而$GLOBALS也是全局的。 因此,我們能夠來達到我們的目的:將函數體內的變量(局部變量)在函數外部使用。也可以讓函數外的變量到函數里面來使用。 #### 1.通過$GLOBLAS來讀取外部變量 ~~~ <?php $one = 10; function demo(){ $two = 100; $result = $two + $GLOBALS['one']; return $result; } //你會發現結果變成了110 echo demo(); ?> ~~~ 上例中:我們將函數體外的變量通過$GLOBALS拿到了函數體使用。所以,打破了函數外的變量不能在函數體內使用的限定。 #### 2.通過$GLOBLAS,在函數內修改外部變量 ~~~ <?php $hongniu = '我是一個兵,來自老百姓'; function test(){ echo '執行了函數test喲<br />'; //調用test()函數,將通過$GLOBALS['hongniu'],把$hongniu的值改變掉 $GLOBALS['hongniu'] = '幫助別人很快樂'; } test(); //發現是不是輸出的值變了呀? echo $hongniu; ?> ~~~ 通過上例:我們發現通過$GLOBALS['hongniu'],把$hongniu的值改變掉,所以在最后輸出$hongniu的時候,值發生了變化。 #### 3.通過$GLOBLAS,在函數內創建全局變量 ~~~ <?php function hello(){ $GLOBALS['que'] = '提神喝茶更好喲'; echo '你調了一下函數hello<br />'; } hello(); echo $que; ?> ~~~ 上例中,我們發現$que是不存在的,可以調用函數hello()后,在函數外部可以執行echo $que了,能夠看到結果:提神喝茶更好。我們明白了,函數內聲明的變量,通過$GLOBALS聲明一個變量,也能夠顯示出來。 下面的知識是**【了解】級別**,我們越來越少的使用這種方式來聲明全局變量了。在函數內使用global關鍵詞后面跟一個或多個變量,就把變量變為了全局變量,格式如下: > global $變量1[,變量2,....變量n] 在global后面可以跟一個或者多個變量,變量用逗號分開。 ~~~ $a = 10; $b = 100; function test(){ global $a , $b; echo $a + $b; } //結果是不是顯示出來了? test(); ~~~ 上例中,你還可以試試在global關鍵詞后面跟著未創建的變量,在函數體內定義變量值,修改變量的值試試。其實與$GLOBALS一樣,只是用法不同而已。 注意: 不可在global 后寫 $變量 = 值。 * * * * * global 讀音:[?gl??bl] 解釋:全局的,全球的
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看