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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 變量 ## 基本介紹 * PHP中的變量用一個美元符號(`$`)后面加變量名來表示,**變量名區分大小寫**。 * 一個有效的變量名由字母或者下劃線開始,后面跟上任意數量的字母、數字、下劃線以及 **中文漢字**。 * `$this` 是一個特殊的變量,它不能被賦值。 * 變量的賦值分為默認的 **傳值賦值** 和 **引用賦值**。 * 引用賦值,使用時需在即將賦值的變量名前面加上`&`(and符號),例如`$two = &$one;`,這樣新的`$two`變量的值如果發生改變,那么原始變量`$one`的值也會隨之改變,反過來也一樣。 * 變量可以使用引用賦值,但是沒有名字的表達式不可以,例如`$two = &(5+6)`。 ## 作用范圍 * 變量有作用范圍,大部分變量只有一個單獨的范圍,這個范圍通常是指同處一個最近的上級大括號里,也就是同一個代碼塊里。 * 處于子代碼塊(如函數等)里的變量,我們叫他 **"局部變量"**,此外的變量可稱之為 **"全局變量"**。 * 在同一個代碼塊里時,使用 `include` 或 `require` 引入的變量可以被使用,下面兩種方式都是正確的。 ~~~ <?php // 引入A文件,里面就一行代碼:$a = 123; include "a.php"; // 這里可以引用到變量$a echo $a; // 定義b變量 $b = 456; // 引入B文件,里面就一行代碼:echo $b; include "a.php"; ?> ~~~ * 函數里的變量將有自己的作用范圍,我們叫它局部變量,如果在函數里面需要使用外面的全局變量,需要通過`global`關鍵字聲明變量,也可以使用PHP自定義的`$GLOBALS`數組來訪問。 * 如下面這個例子中,調用`test()`函數將不會輸出任何內容,而且會提示`$str`未定義的錯誤。 ~~~ <?php // 定義變量 $str = "abc"; // 定義函數 function test(){ // 輸出str變量 echo $str; } // 調用函數 test(); ~~~ * 將上面的例子修改一下,通過`global`關鍵字可以正確的訪問到`$str`變量,結果將在瀏覽器上正確的輸出字符串`"abc"`。 ~~~ <?php // 定義變量 $str = "abc"; // 定義函數 function test(){ // 聲明變量 global $str; // 輸出str變量 echo $str; } // 調用函數 test(); ~~~ * 將上面的例子還可以修改一下,通過PHP系統自定義的`$GLOBALS`數組來訪問全局變量,結果也是正確的。 ~~~ <?php // 定義變量 $str = "abc"; // 定義函數 function test(){ // 輸出str變量 echo $GLOBALS["str"]; } // 調用函數 test(); ~~~ * `$GLOBALS` 是一個 **超全局變量**,在系統運行時,里面會自動存入很多的系統變量和我們自定義的全局變量。 ## 靜態變量 * 通過`static`聲明的變量稱之為**靜態變量**,靜態變量在程序執行完成并且離開該作用范圍后還會一直存在。 ~~~ <?php function test(){ // 聲明靜態變量 static $count = 0; // 靜態變量自增 $count++; // 輸出靜態變量 echo $count; } // 第一次調用,輸出1 test(); // 第一次調用,輸出2 test(); ~~~ * 靜態變量的賦值對象不允許是表達式。 * 靜態變量是編譯時解析的。 ## 可變變量 * 可變變量指的是一個變量的名稱可以動態的設置和使用。 * 在變量的前面加上一個`$`美元符號,就可以使用可變變量,如下面的例子中,`$$a`對于系統來說會先拆分成`$`和`$a`,因為`$a`等于`key`,所以計算結果是`$key`。 ~~~ // 定義A變量,值為key $a = "key"; // 定義可變變量,值為value,相當于$key = "value" $$a = "value"; // 輸出$$a,得到value; echo $$a; // 輸出$key,得到value; echo $key; ~~~ * 系統解析可變變量的時候 * 在可變變量遇上數組的時候,需要解決一個讓系統糾結的問題,例如`$$key[1]`,系統在解析的時候會出現如下兩個情況: * 情況一:`$` + `$key[1]`。 * 情況二:`$$key` + `[1]`。 * 對于上面兩種情況,系統默認選擇的是按情況一處理,假如我們想明確的控制,需要按下面這種方式使用: * 情況一:`${$key[1]}`。 * 情況二:`${$key}[1]`。 * 官方的一個例子 ~~~ <?php $Bar = "a"; $Foo = "Bar"; $World = "Foo"; $Hello = "World"; $a = "Hello"; $a; // 得到 Hello $$a; // 得到 World $$$a; // 得到 Foo $$$$a; // 得到 Bar $$$$$a; // 得到 a $$$$$$a; // 得到 Hello $$$$$$$a; // 得到 World ~~~ > 注意,在 PHP 的函數和類的方法中,超全局變量不能用作可變變量。$this 變量也是一個特殊變量,不能被動態引用。 ## 來自HTML頁面中form的變量 * 通過系統內置的`$_GET`或`$_POST`數組可以分別獲取來自于form表單GET或POST的內容,其中鍵對應input等標簽的name屬性值,值對應value的值。 * form表單中可以傳遞數組給PHP,只需給input等標簽的name值后面加上數組索引。 * form表單中標簽name值里如果包含了特殊字符(不符合PHP變量定義規則的字符),系統會自動將其轉換成下劃線。
                  <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>

                              哎呀哎呀视频在线观看