PHP - Continue 語句:初學者指南

你好,未來的 PHP 工匠們!今天,我們將深入探索 PHP 中 continue 語句的奇妙世界。如果你是編程新手,別擔心——我會一步一步地引導你理解這個概念,就像我過去幾年來對無數學生所做的那樣。所以,來一杯咖啡(或是你喜歡的飲料),讓我們一起踏上這次編程冒險吧!

PHP - Continue Statement

Continue 語句是什麼?

在我們深入了解之前,讓我們先來理解一下 continue 語句到底是什麼。想像一下你排隊等待坐過山車,突然你發現自己不夠高,無法乘坐。你可能會直接離開隊伍,繼續你的日子,對吧?這正是 continue 語句在編程中的功能!

continue 語句在循環結構(如 forwhiledo-while 循環)中使用,用於跳過當前迭代的剩餘部分並移動到下一個迭代。就像是說:“嘿,PHP,我們跳過這部分,繼續下一輪吧!”

語法

continue 語句的基本語法非常直接:

continue;

簡單吧?但別被它的簡潔外表欺騙——當正確使用時,這個小語句可以非常強大。

示例 1:跳過偶數

讓我們從一個簡單的例子開始。假設我們想打印從 1 到 10 的所有奇數。以下是如何使用 continue 語句實現這一點:

<?php
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 == 0) {
continue;
}
echo $i . " ";
}
?>

輸出:

1 3 5 7 9

讓我們分解一下:

  1. 我們開始一個從 1 運行到 10 的 for 循環。
  2. 對於每個數字,我們使用模數運算符 % 檢查它是否為偶數。
  3. 如果數字是偶數(即 $i % 2 == 0),我們使用 continue 跳過循環的剩餘部分。
  4. 如果數字是奇數,它將被打印。

看我們如何優雅地跳過所有偶數?這就是 continue 的力量!

示例 2:過濾數組

現在,讓我們來處理一些更具實際性的事情。想像你有一個溫度數組,但你想打印的只是高於 20°C(68°F,給我們的美國朋友)的溫度。

<?php
$temperatures = [18, 22, 15, 25, 30, 20, 17, 28];

foreach ($temperatures as $temp) {
if ($temp <= 20) {
continue;
}
echo $temp . "°C ";
}
?>

輸出:

22°C 25°C 30°C 28°C

在這個例子中:

  1. 我們使用 foreach 循環遍歷我們的 $temperatures 數組。
  2. 如果溫度是 20°C 或以下,我們使用 continue 跳過到下一個迭代。
  3. 高於 20°C 的溫度將被打印。

這是過濾數據而不創建新數組的好方法!

示例 3:嵌套循環和 Continue

讓我們升級一點。continue 語句也可以在嵌套循環中使用。以下是一個例子,我們創建一個乘法表,但想跳過所有 5 的倍數:

<?php
for ($i = 1; $i <= 5; $i++) {
for ($j = 1; $j <= 5; $j++) {
if ($i * $j % 5 == 0) {
continue;
}
echo $i * $j . "\t";
}
echo "\n";
}
?>

輸出:

1   2   3   4
2   4   6   8
3   6   12
4   8   12  16
2   3   4

這裡發生了什麼:

  1. 我們有兩個嵌套的 for 循環,創建一個 5x5 的網格。
  2. 如果 $i$j 的乘積是 5 的倍數,我們使用 continue 跳過它。
  3. 所有其他乘積將被打印,後面跟一個制表符(\t)。
  4. 每行結尾,我們打印一個換行符(\n)。

注意我們表中的某些位置是空的?那些就是我們跳過的 5 的倍數!

Continue 2 語法

PHP 有個小巧的技巧——continue 2 語法。這允許你從內部循環中跳過外部循環的一次迭代。讓我們看看它是如何工作的:

<?php
for ($i = 1; $i <= 3; $i++) {
echo "外層循環 $i: ";
for ($j = 1; $j <= 3; $j++) {
if ($i == 2 && $j == 2) {
echo "跳過外層循環!";
continue 2;
}
echo "$j ";
}
echo "\n";
}
?>

輸出:

外層循環 1: 1 2 3
外層循環 2: 1 跳過外層循環!
外層循環 3: 1 2 3

在這個例子中:

  1. 我們再次使用嵌套循環。
  2. $i 等於 2 且 $j 等於 2 時,我們使用 continue 2 跳過外層循環的當前迭代。
  3. 這會立即將程序跳轉到外層循環的下一個迭代。

當你在嵌套循環中需要基於內部循環的條件終止整個操作集時,這特別有用。

最佳實踐和建議

與任何編程概念一樣,有一些最佳實踐需要記住:

  1. 可讀性:雖然 continue 可以使你的代碼更高效,但過度使用它會使代碼難以閱讀。謹慎使用。

  2. 註釋:如果你以複雜的方式使用 continue,請添加註釋說明原因。你未來的自己(和其他開發者)會感謝你!

  3. 替代方案:有時,重構你的邏輯可以消除對 continue 的需求。總是考慮是否有更清晰表達意圖的方法。

  4. 測試:使用 continue,尤其是在嵌套循環中時,請徹底測試你的代碼,以確保其行為符合預期。

結論

好了,各位!我們一起穿越了 continue 語句的領地,從基本用法到一些較高級的應用。記住,與任何編程工具一樣,continue 最強大之處在於你理解的不僅是如何使用它,還有在什麼時候使用它。

在你繼續(雙關語!)你的 PHP 冒險時,你會發現許多使用這個方便語句的機會。持續練習,保持好奇心,在你意識到之前,你將像專業人士一樣寫出 PHP 代碼!

快樂編程,直到下一次見面,願你的循環高效,你的 continue 精確!

Credits: Image by storyset