<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之旅 廣告
                # 流程控制 ## 1. 分支結構 | 序號 | 類型 | 語法 | 模板語法 | | ---- | -------- | ----------------------------------- | ---------------------------------------- | | 1 | 單分支 | `if(){...}` | `if(): ... endif;` | | 2 | 雙分支 | `if(){...} else {...}` | `if(): ... else: ... endif;` | | 3 | 多分支 | `if(){...} elseif {...} else {...}` | `if(): ... elseif: ... else: ... endif;` | | 4 | `switch` | `switch() {case: ... break...}` | `switch(): ...endswitch;` | 示例代碼: `demo19.php` ```php # 分支結構 // 購買金額 $amount = 5500; // 實際支付 $payment = $amount; // 單分支 if ($amount > 5000) { $payment = $amount * 0.9; } // 模板語法 if ($amount) : $payment = $amount * 0.9; endif; echo '實際支付: ' . $payment . '<br>'; echo '<hr>'; // 雙分支 $amount = 3500; if ($amount > 5000) { $payment = $amount * 0.9; } else { $payment = $amount; } // 模板語法 if ($amount > 5000) : $payment = $amount * 0.9; else : $payment = $amount; endif; echo '實際支付: ' . $payment . '<br>'; echo '<hr>'; // 多分支 $amount = 13500; if ($amount > 5000 && $amount < 10000) { $payment = $amount * 0.9; } elseif ($amount >= 10000 && $amount < 20000) { $payment = $amount * 0.7; } elseif ($amount >= 20000 && $amount < 30000) { $payment = $amount * 0.5; } else { $payment = $amount; } // 模板語法 if ($amount > 5000 && $amount < 10000) : $payment = $amount * 0.9; elseif ($amount >= 10000 && $amount < 20000) : $payment = $amount * 0.7; elseif ($amount >= 20000 && $amount < 30000) : $payment = $amount * 0.5; else : $payment = $amount; endif; echo '實際支付: ' . $payment . '<br>'; echo '<hr>'; // switch分支 $amount = 23500; switch (true) { case $amount > 5000 && $amount < 10000: $payment = $amount * 0.9; break; case $amount >= 10000 && $amount < 20000: $payment = $amount * 0.7; break; case $amount >= 20000 && $amount < 30000: $payment = $amount * 0.5; break; default: $payment = $amount; } // 模板語法 $amount = 8500; switch (true): case $amount > 5000 && $amount < 10000: $payment = $amount * 0.9; break; case $amount >= 10000 && $amount < 20000: $payment = $amount * 0.7; break; case $amount >= 20000 && $amount < 30000: $payment = $amount * 0.5; break; default: $payment = $amount; endswitch; echo '實際支付: ' . $payment . '<br>'; // switch最常用的場景是單值判斷 // 例如,根據不同折扣輸出不同金額 $discount = 0.8; switch ($discount): case 0.9: $payment = $amount * $discount; break; case 0.7: $payment = $amount * 0.7; break; case 0.5: $payment = $amount * 0.5; break; default: die('不支持的折扣率'); endswitch; echo '實際支付: ' . $payment . ', 折扣率: ' . $discount; ``` --- ## 2. 循環結構 | 序號 | 類型 | 語法 | 模板語法 | | ---- | ---------- | ------------------- | ------------------------ | | 1 | 入口判斷型 | `while(){...}` | `while(): ... endwhile;` | | 2 | 出口判斷型 | `do {...} while();` | `do : ... while();` | | 3 | 計數型 | `for(){...}` | `for () : ... endfor;` | 循環控制關鍵字: | 序號 | 關鍵字 | 描述 | | ---- | ---------- | --------------------------- | | 1 | `continue` | 終止本次循環,提前進入下一輪 | | 2 | `break` | 跳出本層循環 | 示例代碼: `demo20.php` ```php <?php # 循環結構 $cities = ['武漢', '合肥', '南京', '杭州', '上海']; // 1. 入口判斷型 // 只要循環條件為真,則循環執行 // current(): 獲取當前數組元素的值, next():移動數組指針指向下一條記錄 while ($city = current($cities)) { echo $city . '<br>'; // 更新循環條件: 讀到下一個數據 next($cities); } // 數組指針復位,指向第一個元素 reset($cities); // 模板語法 while ($city = current($cities)) : echo $city . '<br>'; // 更新循環條件: 讀到下一個數據 next($cities); endwhile; echo '<hr>'; // 2. 出口判斷型 reset($cities); // 只要循環條件為真,則循環執行 do { echo $city . '<br>'; // 更新循環條件: 讀到下一個數據 next($cities); } while ($city = current($cities)); // 你會發現,第一個城市"武漢"消失了,為什么呢? // 因為出口判斷型,無論條件是否滿足,循環體總會先執行一遍,next($cities)跳過了第一個元素 // do-while 沒有對應的模板語法 echo '<hr>'; // 3. 計數型 reset($cities); // for()循環是while()的聚合版,將循環條件與條件更新全部集成到了參數中 // count(): 獲到數組元素數量 for ($i = 0; $i < count($cities); $i++) { echo $cities[$i] . '<br>'; } // 模板語法 reset($cities); for ($i = 0; $i < count($cities); $i++) : echo $cities[$i] . '<br>'; endfor; echo '<hr>'; // 關鍵字continue: 終止本次循環,提前進入下一輪 // 關鍵字break: 跳出本層循環 $cities = ['武漢', '合肥', false, '南京', null, '杭州', '上海']; // 其實用while()遍歷數組時是有一個bug的,如果數組存在計算結果為false的元素會提前結束循環 while ($city = current($cities)) : echo $city . '<br>'; next($cities); endwhile; // continue: 跳過運算結果為false數據 reset($cities); // 因為while()條件為false時, 不會執行,所以換成for for ($i = 0; $i < count($cities); $i++) : if (!$cities[$i]) continue; echo $cities[$i] . '<br>'; // 如果值為"杭州"跳出循環 if ($cities[$i] === '杭州') break; endfor; ```
                  <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>

                              哎呀哎呀视频在线观看