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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## *switch* (PHP 4, PHP 5, PHP 7) *switch* 語句類似于具有同一個表達式的一系列 *if* 語句。很多場合下需要把同一個變量(或表達式)與很多不同的值比較,并根據它等于哪個值來執行不同的代碼。這正是 *switch* 語句的用途。 > **Note**: 注意和其它語言不同,[continue](http://php.net/manual/zh/control-structures.continue.php) 語句作用到 switch 上的作用類似于 *break*。如果在循環中有一個 switch 并希望 continue 到外層循環中的下一輪循環,用 *continue 2*。 > **Note**: > 注意 switch/case 作的是[松散比較](http://php.net/manual/zh/types.comparisons.php#types.comparisions-loose)。 下面兩個例子使用兩種不同方法實現同樣的事,一個用一系列的 *if* 和 *elseif* 語句,另一個用 *switch* 語句: **Example #1 *switch* 結構** ``` <?php if?($i?==?0)?{ ????echo?"i?equals?0"; }?elseif?($i?==?1)?{ ????echo?"i?equals?1"; }?elseif?($i?==?2)?{ ????echo?"i?equals?2"; } switch?($i)?{ ????case?0: ????????echo?"i?equals?0"; ????????break; ????case?1: ????????echo?"i?equals?1"; ????????break; ????case?2: ????????echo?"i?equals?2"; ????????break; } ?> ``` **Example #2 *switch* 結構可以用字符串** ``` <?php switch?($i)?{ case?"apple": ????echo?"i?is?apple"; ????break; case?"bar": ????echo?"i?is?bar"; ????break; case?"cake": ????echo?"i?is?cake"; ????break; } ?> ``` 為避免錯誤,理解 *switch* 是怎樣執行的非常重要。*switch* 語句一行接一行地執行(實際上是語句接語句)。開始時沒有代碼被執行。僅當一個 *case* 語句中的值和 *switch* 表達式的值匹配時 PHP 才開始執行語句,直到 *switch* 的程序段結束或者遇到第一個 *break* 語句為止。如果不在 case 的語句段最后寫上 *break* 的話,PHP 將繼續執行下一個 case 中的語句段。例如: ``` <?php switch?($i)?{ ????case?0: ????????echo?"i?equals?0"; ????case?1: ????????echo?"i?equals?1"; ????case?2: ????????echo?"i?equals?2"; } ?> ``` 這里如果 $i 等于 0,PHP 將執行所有的 echo 語句!如果 $i 等于 1,PHP 將執行后面兩條 echo 語句。只有當 $i 等于 2 時,才會得到“預期”的結果——只顯示“i equals 2”。所以,別忘了 *break* 語句就很重要(即使在某些情況下故意想避免提供它們時)。 在 *switch* 語句中條件只求值一次并用來和每個 *case* 語句比較。在 *elseif* 語句中條件會再次求值。如果條件比一個簡單的比較要復雜得多或者在一個很多次的循環中,那么用 *switch* 語句可能會快一些。 在一個 case 中的語句也可以為空,這樣只不過將控制轉移到了下一個 case 中的語句。 ``` <?php switch?($i)?{ ????case?0: ????case?1: ????case?2: ????????echo?"i?is?less?than?3?but?not?negative"; ????????break; ????case?3: ????????echo?"i?is?3"; } ?> ``` 一個 case 的特例是 *default*。它匹配了任何和其它 case 都不匹配的情況。例如: ``` <?php switch?($i)?{ ????case?0: ????????echo?"i?equals?0"; ????????break; ????case?1: ????????echo?"i?equals?1"; ????????break; ????case?2: ????????echo?"i?equals?2"; ????????break; ????default: ????????echo?"i?is?not?equal?to?0,?1?or?2"; } ?> ``` *case* 表達式可以是任何求值為簡單類型的表達式,即整型或浮點數以及字符串。不能用數組或對象,除非它們被解除引用成為簡單類型。 *switch* 支持替代語法的流程控制。更多信息見[流程控制的替代語法](http://php.net/manual/zh/control-structures.alternative-syntax.php)一節。 ``` <?php switch?($i): ????case?0: ????????echo?"i?equals?0"; ????????break; ????case?1: ????????echo?"i?equals?1"; ????????break; ????case?2: ????????echo?"i?equals?2"; ????????break; ????default: ????????echo?"i?is?not?equal?to?0,?1?or?2"; endswitch; ?> ``` 允許使用分號代替 case 語句后的冒號,例如: ``` <?php switch($beer) { ????case?'tuborg'; ????case?'carlsberg'; ????case?'heineken'; ????????echo?'Good?choice'; ????break; ????default; ????????echo?'Please?make?a?new?selection...'; ????break; } ?> ```
                  <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>

                              哎呀哎呀视频在线观看