<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>

                # 變量作用域 [TOC] >[success] 變量作用的范圍(可以被使用的范圍)稱為變量作用域,按作用域,可以將PHP變量分為超全局變量、全局變量和局部變量 局部變量:在函數內部聲明的變量,就是局部變量,當函數執行完畢,**局部變量就消失了**。局部變量,**只能在函數內部使用**。 全局變量:在函數外部聲明的變量,就是全局變量。在PHP中全局變量,**在函數中不能使用**,網頁執行完畢,全局變量消失。 超全局數組變量:系統定義的變量,就是超全局變量。**該變量可以在任何地方直接使用**。 >[info] static靜態變量:使用static修飾符修飾的變量就稱之為靜態變量,在我們變量作用域當中,函數執行完成函數體內的變量自動銷毀,使用了static修飾符,可以把函數執行完成后的變量保留起來,在外部還可以繼續的使用 >[danger] 注意:PHP變量作用域,與JS變量作用不一樣。JS的全局變量可以直接在函數內部使用;而PHP的全局變量在函數內部不能直接使用 ## global關鍵字 在變量作用域的情況下,我們在函數體的內部想使用函數體外部的全局變量怎么辦呢? PHP為我們提供了global關鍵字解決函數內部作用域的問題,從而讓我們可以使用函數體外部的全局變量。 global關鍵字需要注意的事項: * [ ] global關鍵字,**只能在函數內部申明變量** * [ ] global關鍵字,**申明時不能賦值,必須申明之后才可以進行賦值操作** * [ ] global的作用,是引用傳遞地址,將全局變量的地址,傳遞到函數內部 * [ ] global關鍵字,**在函數內部,使用unset()刪除 global引用的變量時,將不會影響到全局變量** ``` <?php $a = 100; function get() { global $a; # 正確操作 global $a = 200; # 報錯,必須先聲明在賦值 unset($a);# 刪除是引用的值,不會影響函數外部變量 echo $a;# 如果直接使用那么就會報錯,刪除變量后函數體內部打印會報錯 } get(); ``` ## 超全局數組變量$GLOBALS $GLOBALS可以引用全局作用域中可用的全部變量 * [ ] 如果在函數內部,使用unset可以刪除一個全局變量,會影響到全局變量 * [ ] 通過$GLOBALS可以添加一個全局變量 ``` <?php $a = 100; function get() { $GLOBALS['age'] = 22;# 通過GLOBALS可以添加一個全局變量,且在函數體外部可以使用 unset($GLOBALS['a']); # 通過GLOBALS刪除全局變量,會影響到全局變量 $GLOBALS['a'] = 500; # 通過GLOBALS直接申明并賦值不會報錯,是正確的使用 } get(); echo $age; # 結果為22,GLOBAL可以添加一個全局變量 echo $a; # 結果為500,因為我雖然刪除了開始的a但是又聲明定義了一個全新的a全局變量 ``` ## global與$GLOBALS的區別 * [ ] global unset變量不會影響全局的變量,而$GLOBALS會影響 * [ ] global 必須先申明再賦值,而$GLOBALS可以直接申明并賦值 >[danger] 以上就是換個寫法都可以做到相同,下面是我百度結果,但是我還是沒太看明白 > 很多人都認為global和$GLOBALS\[\]只是寫法上面的差別,其實不然(我就是這其中的一員),具體的區分我也不太懂,在我的理解里面他們除了寫法上的差別就沒啥區別了。但是這肯定錯誤的,不然網上不會那么人說區別很大。有好的理解歡迎您的留言。
                  <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>

                              哎呀哎呀视频在线观看