<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之旅 廣告
                # PHP 中的控制流 > 原文: [https://zetcode.com/lang/php/flowcontrol/](https://zetcode.com/lang/php/flowcontrol/) 在 PHP 教程的這一部分中,我們討論流控制。 我們定義了幾個關鍵字,這些關鍵字使我們能夠控制 PHP 腳本的流程。 ## PHP `if`語句 `if`語句具有以下一般形式: ```php if (expression) statement ``` `if`關鍵字用于檢查表達式是否為真。 如果為`true`,則執行一條語句。 該語句可以是單個語句或復合語句。 復合語句由用大括號括起來的多個語句組成。 `ifstatement.php` ```php <?php $num = 31; if ($num > 0) echo "\$num variable is positive\n"; ``` 我們有一個`$num`變量。 它分配了值 31。`if`關鍵字檢查布爾表達式。 表達式放在方括號之間。 表達式`31 > 0`為`true`,因此將執行下一條語句。 如果只有一條語句要執行,則花括號是可選的。 ```php $ php ifstatement.php $num variable is positive ``` 這是示例的輸出。 `ifstatement2.php` ```php <?php $num = 31; if ($num > 0) { echo "\$num variable is positive\n"; echo "\$num variable equals to $num\n"; } ``` 如果我們打算執行多個語句,則必須將它們放在方括號內。 如果我們不使用它們,則只會執行第一條語句。 圓括號形成了`if`語句的主體。 我們可以使用`else`關鍵字來創建一個簡單的分支。 如果`if`關鍵字后面方括號內的表達式的值為`false`,則`else`主體內的語句將自動執行。 `boyorgirl.php` ```php <?php $sex = "female"; if ($sex == "male") { echo "It is a boy\n"; } else { echo "It is a girl\n"; } ``` 我們有一個`$sex`變量。 它具有`"female"`字符串。 布爾表達式的計算結果為`false`,我們在控制臺中得到`"It is a girl"`。 ```php $ php boyorgirl.php It is a girl ``` This is the output of the example. 我們可以使用`elseif`關鍵字創建多個分支。 僅當不滿足先前條件時,`elseif`關鍵字才會測試其他條件。 請注意,我們可以在測試中使用多個`elseif`關鍵字。 `ifelsestm.php` ```php <?php echo "Enter a number: "; $a = intval(fgets(STDIN)); if ($a < 0) { printf("%d is a negative number\n", $a); } elseif ($a == 0) { printf("%d is a zero\n", $a); } elseif ($a > 0) { printf("%d is a positive number\n", $a); } ``` 我們使用`fgets()`函數從用戶讀取一個值。 將測試該值是負數還是正數或等于零。 ```php $ php ifelsestm.php Enter a number: 4 4 is a positive number $ php ifelsestm.php Enter a number: -3 -3 is a negative number ``` 程序的示例輸出。 ## PHP `switch`語句 `switch`語句是選擇控制流語句。 它允許變量或表達式的值通過多路分支控制程序執行的流程。 與使用`if`和`elseif`語句相比,它以更簡單的方式創建多個分支。 `switch`語句與其他兩個關鍵字一起使用:`case`和`break`。 `case`關鍵字用于根據圓括號中的值測試標簽。 如果標簽等于該值,則執行案例后面的語句。 `break`關鍵字用于跳出`switch`語句。 有一個可選的`default`語句。 如果所有標簽都不等于該值,則執行默認語句。 `domains.php` ```php <?php $domain = 'sk'; switch ($domain) { case 'us': echo "United States\n"; break; case 'de': echo "Germany\n"; break; case 'sk': echo "Slovakia\n"; break; case 'hu': echo "Hungary\n"; break; default: echo "Unknown\n"; break; } ``` 在我們的腳本中,我們有一個`$domains`變量。 它具有`"sk"`字符串。 我們使用`switch`語句測試變量的值。 有幾種選擇。 如果該值等于`"us"`,則將`"United States"`字符串打印到控制臺。 ```php $ php domains.php Slovakia ``` 我們得到`Slovakia`。 如果將`$domains`變量更改為`'rr'`,則會得到`'Unknown'`字符串。 ## PHP `while`循環 `while`是一個控制流語句,它允許根據給定的布爾條件重復執行代碼。 這是`while`循環的一般形式: ```php while (expression): statement ``` 當表達式的值為真時,`while`循環執行該語句。 該語句是一個簡單的語句,以分號或用大括號括起來的復合語句終止。 `whilestm.php` ```php <?php $i = 0; while ($i < 5) { echo "PHP language\n"; $i++; } ``` 在代碼示例中,我們反復將`"PHP language\n"`字符串打印到控制臺。 `while`循環包含三個部分:初始化,測試和更新。 語句的每次執行都稱為循環。 ```php $i = 0; ``` 我們啟動`$i`變量。 它在我們的腳本中用作計數器。 ```php while ($i < 5) { ... } ``` 方括號內的表達式是第二階段,即測試。 `while`循環在主體中執行語句,直到表達式的計算結果為`false`。 ```php $i++; ``` `while`循環的最后第三階段是更新。 計數器增加。 請注意,對`while`循環的不正確處理可能會導致循環不斷。 ```php $ php whilestm.php PHP language PHP language PHP language PHP language PHP language ``` 該程序將消息打印到控制臺五次。 `do while`循環是`while`循環的版本。 不同之處在于,保證該版本至少運行一次。 `dowhile.php` ```php <?php $count = 0; do { echo "$count\n"; } while ($count != 0) ``` 首先執行迭代,然后求值真值表達式。 `while`循環通常與`list()`和`each()`函數一起使用。 `seasons.php` ```php <?php $seasons = ["Spring", "Summer", "Autumn", "Winter"]; while (list($idx , $val) = each($seasons)) { echo "$val\n"; } ``` `$seasons`數組有四個季節。 我們瀏覽所有值并將它們打印到控制臺。 `each()`函數從數組返回當前鍵和值對,并前進數組光標。 當函數到達數組末尾時,它返回`false`并終止循環。 `each()`函數返回一個數組。 賦值的左側也必須有一個數組。 我們使用`list()`函數從兩個變量創建一個數組。 ```php $ php seasons.php Spring Summer Autumn Winter ``` 這是`seasons.php`腳本的輸出。 ## PHP 關鍵字 `for`循環與`while`循環具有相同的作用。 只是將所有三個階段(初始化,測試和更新)放在圓括號之間。 它主要用于在進入循環之前知道迭代次數的情況。 讓我們舉一個`for`循環的例子。 `forloop.php` ```php <?php $days = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ]; $len = count($days); for ($i = 0; $i < $len; $i++) { echo $days[$i], "\n"; } ``` 我們每周有幾天。 我們希望從數組中打印所有這些天。 ```php $len = count($days); ``` 或者我們可以以編程方式找出數組中的項目數。 ```php for ($i = 0; $i < $len; $i++) { echo $days[$i], "\n"; } ``` 這里我們有`for`循環結構。 這三個階段用分號分隔。 首先,啟動`$i`計數器。 啟動部分僅發生一次。 接下來,進行測試。 如果測試結果為`true`,則執行該語句。 最后,計數器增加。 這是一個周期。 `for`循環迭代直到測試表達式為假。 ```php $ php forloop.php Monday Tuesday Wednesday Thursday Friday Saturday Sunday ``` 這是`forloop.php`腳本的輸出。 ## PHP `foreach`語句 `foreach`構造簡化了遍歷數據集合的過程。 它沒有明確的計數器。 `foreach`語句一個接一個地遍歷數組,并將當前值復制到構造中定義的變量中。 在 PHP 中,我們可以使用它遍歷數組。 `foreachstm.php` ```php <?php $planets = [ "Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune" ]; foreach ($planets as $item) { echo "$item "; } echo "\n"; ``` 在此示例中,我們使用`foreach`語句遍歷一系列行星。 ```php foreach ($planets as $item) { echo "$item "; } ``` `foreach`語句的用法很簡單。 `$planets`是我們迭代通過的數組。 `$item`是具有數組中當前值的臨時變量。 `foreach`語句遍歷所有行星并將它們打印到控制臺。 ```php $ php foreachstm.php Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune ``` 運行上面的 PHP 腳本將給出此輸出。 `foreach`語句還有另一種語法。 它與地圖一起使用。 `foreachstm2.php` ```php <?php $benelux = [ 'be' => 'Belgium', 'lu' => 'Luxembourgh', 'nl' => 'Netherlands' ]; foreach ($benelux as $key => $value) { echo "$key is $value\n"; } ``` 在我們的腳本中,我們有一個`$benelux`映射。 它包含映射到比荷盧三國的域名。 我們遍歷數組并將鍵及其值都打印到控制臺。 ```php $ php foreachstm2.php be is Belgium lu is Luxembourgh nl is Netherlands ``` 這是腳本的結果。 ## PHP `break`,`continue`語句 `break`語句用于終止循環。 `continue`語句用于跳過循環的一部分,并繼續循環的下一個迭代。 `testbreak.php` ```php <?php while (true) { $val = rand(1, 30); echo $val, " "; if ($val == 22) break; } echo "\n"; ``` 我們定義了一個無限的`while`循環。 使用`break`語句,只有一種方法可以跳出這樣的循環。 我們從 1 到 30 中選擇一個隨機值并打印出來。 如果該值等于 22,則結束無窮的`while`循環。 ```php $ php testbreak.php 6 11 13 5 5 21 9 1 21 22 ``` 我們可能會得到這樣的東西。 在下面的示例中,我們打印一個數字列表,這些數字不能除以 2 而沒有余數。 `testcontinue.php` ```php <?php $num = 0; while ($num < 1000) { $num++; if (($num % 2) == 0) continue; echo "$num "; } echo "\n"; ``` 我們使用`while`循環遍歷數字`1..999`。 ```php if (($num % 2) == 0) continue; ``` 如果表達式`$num % 2`返回 0,則可以將所討論的數字除以 2。執行`continue`語句,并跳過循環的其余部分。 在我們的例子中,循環的最后一條語句將被跳過,并且數字不會輸出到控制臺。 下一個迭代開始。 在 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>

                              哎呀哎呀视频在线观看