PHP - Lệnh Continue: Hướng dẫn cho người mới bắt đầu
Xin chào các pháp sư PHP tương lai! Hôm nay, chúng ta sẽ cùng lặn sâu vào thế giới kỳ diệu của lệnh continue
trong PHP. Đừng lo lắng nếu bạn là người mới bắt đầu lập trình - tôi sẽ hướng dẫn bạn từng bước qua khái niệm này, giống như tôi đã làm cho hàng trăm học sinh trong những năm dạy học của mình. Vậy, hãy lấy một cốc cà phê (hoặc thức uống yêu thích của bạn), và cùng nhau bắt đầu cuộc phiêu lưu lập trình này nhé!
Lệnh Continue là gì?
Trước khi chúng ta nhảy vào chi tiết, hãy hiểu xem lệnh continue
là gì. Hãy tưởng tượng bạn đang đứng排队 cho một trò chơi xe đuôi, và bỗng nhiên bạn nhận ra mình không đủ cao để chơi. Thay vì chờ đợi trong hàng chỉ để bị từ chối ở phía trước, bạn có lẽ sẽ rời khỏi hàng và tiếp tục với ngày của mình, phải không? Đó chính xác là điều mà lệnh continue
làm trong lập trình!
Lệnh continue
được sử dụng trong các cấu trúc lặp (như for
, while
, hoặc do-while
) để bỏ qua phần còn lại của lần lặp hiện tại và chuyển sang lần lặp tiếp theo. Nó giống như nói, "Hey PHP, chúng ta hãy bỏ qua phần này và tiếp tục với vòng tiếp theo!"
Cú pháp
Cú pháp cơ bản của lệnh continue
rất đơn giản:
continue;
Đơn giản phải không? Nhưng đừng để vẻ ngoài đơn giản của nó đánh lừa bạn - lệnh này có thể rất mạnh mẽ khi được sử dụng đúng cách.
Ví dụ 1: Bỏ qua các số chẵn
Hãy bắt đầu với một ví dụ đơn giản. Giả sử chúng ta muốn in tất cả các số lẻ từ 1 đến 10. Dưới đây là cách chúng ta có thể sử dụng lệnh continue
để đạt được điều này:
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 == 0) {
continue;
}
echo $i . " ";
}
?>
Kết quả đầu ra:
1 3 5 7 9
Hãy phân tích điều này:
- Chúng ta bắt đầu một vòng lặp
for
chạy từ 1 đến 10. - Mỗi số, chúng ta kiểm tra xem nó có phải là số chẵn hay không bằng cách sử dụng phép toán modulus
%
. - Nếu số đó là chẵn (tức là
$i % 2 == 0
), chúng ta sử dụngcontinue
để bỏ qua phần còn lại của vòng lặp. - Nếu số đó là lẻ, nó sẽ được in ra.
Thấy cách chúng ta đã bỏ qua tất cả các số chẵn một cách thanh lịch phải không? Đó là sức mạnh của continue
!
Ví dụ 2: Lọc một mảng
Bây giờ, hãy thử một điều gì đó thực tế hơn. Hãy tưởng tượng bạn có một mảng các nhiệt độ, nhưng bạn chỉ muốn in các nhiệt độ trên 20°C (68°F cho bạn bè Mỹ).
<?php
$temperatures = [18, 22, 15, 25, 30, 20, 17, 28];
foreach ($temperatures as $temp) {
if ($temp <= 20) {
continue;
}
echo $temp . "°C ";
}
?>
Kết quả đầu ra:
22°C 25°C 30°C 28°C
Trong ví dụ này:
- Chúng ta sử dụng vòng lặp
foreach
để duyệt qua mảng$temperatures
. - Nếu một nhiệt độ là 20°C hoặc thấp hơn, chúng ta
continue
, bỏ qua lần lặp tiếp theo. - Các nhiệt độ trên 20°C sẽ được in ra.
Đây là một cách tuyệt vời để lọc dữ liệu mà không cần tạo một mảng mới!
Ví dụ 3: Vòng lặp lồng nhau và Continue
Hãy nâng cấp một chút. Lệnh continue
cũng có thể được sử dụng trong các vòng lặp lồng nhau. Dưới đây là một ví dụ nơi chúng ta tạo một bảng nhân, nhưng bỏ qua các tích là bội số của 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";
}
?>
Kết quả đầu ra:
1 2 3 4
2 4 6 8
3 6 12
4 8 12 16
2 3 4
Dưới đây là những gì đang xảy ra:
- Chúng ta có hai vòng lặp
for
lồng nhau tạo ra một lưới 5x5. - Nếu tích của
$i
và$j
là bội số của 5, chúng ta bỏ qua nó bằng cách sử dụngcontinue
. - Tất cả các tích khác sẽ được in ra, theo sau là một tab (
\t
). - Sau mỗi hàng, chúng ta in ra một ký tự mới line (
\n
).
Chú ý rằng một số vị trí trong bảng của chúng ta trống? Đó là các bội số của 5 mà chúng ta đã bỏ qua!
Cú pháp Continue 2
PHP có một mẹo nhỏ - cú pháp continue 2
. Điều này cho phép bạn bỏ qua một lần lặp trong vòng lặp ngoài từ bên trong vòng lặp trong. Hãy xem nó trong hành động:
<?php
for ($i = 1; $i <= 3; $i++) {
echo "Outer loop $i: ";
for ($j = 1; $j <= 3; $j++) {
if ($i == 2 && $j == 2) {
echo "Skipping outer loop! ";
continue 2;
}
echo "$j ";
}
echo "\n";
}
?>
Kết quả đầu ra:
Outer loop 1: 1 2 3
Outer loop 2: 1 Skipping outer loop!
Outer loop 3: 1 2 3
Trong ví dụ này:
- Chúng ta có các vòng lặp lồng nhau.
- Khi
$i
là 2 và$j
là 2, chúng ta sử dụngcontinue 2
để bỏ qua phần còn lại của lần lặp hiện tại của vòng lặp ngoài. - Điều này causing the program to immediately jump to the next iteration of the outer loop.
Điều này đặc biệt hữu ích khi bạn cần hủy bỏ toàn bộ một bộ hoạt động dựa trên một điều kiện trong vòng lặp trong.
Các nguyên tắc tốt nhất và Lời khuyên
Như với bất kỳ khái niệm lập trình nào, có một số nguyên tắc tốt nhất cần nhớ:
-
Đọc hiểu: Mặc dù
continue
có thể làm cho mã của bạn hiệu quả hơn, việc sử dụng quá nhiều có thể làm cho mã khó đọc. Hãy sử dụng nó một cách cẩn thận. -
Bình luận: Nếu bạn sử dụng
continue
theo một cách phức tạp, hãy thêm một bình luận giải thích tại sao. Bản thân bạn trong tương lai (và các nhà phát triển khác) sẽ cảm ơn bạn! -
Thay thế: Đôi khi, việc tái cấu trúc logic của bạn có thể loại bỏ nhu cầu sử dụng
continue
. Hãy luôn xem xét xem có cách nào rõ ràng hơn để biểu đạt ý định của bạn. -
Kiểm tra: Khi sử dụng
continue
, đặc biệt là trong các vòng lặp lồng nhau, hãy kiểm tra mã của bạn kỹ lưỡng để đảm bảo nó hoạt động như mong đợi.
Kết luận
Và thế là bạn đã có nó, các bạn! Chúng ta đã cùng nhau hành trình qua vùng đất của lệnh continue
, từ cách sử dụng cơ bản đến một số ứng dụng phức tạp hơn. Nhớ rằng, như với bất kỳ công cụ lập trình nào, continue
mạnh mẽ nhất khi bạn hiểu không chỉ cách sử dụng nó, mà còn khi nào nên sử dụng nó.
Trong hành trình tiếp tục (pun intended!) của bạn trong PHP, bạn sẽ tìm thấy nhiều cơ hội hơn để sử dụng lệnh này. Hãy tiếp tục thực hành, luôn tò mò, và trước khi bạn biết điều đó, bạn sẽ viết mã PHP như một chuyên gia!
Chúc các bạn lập trình vui vẻ, và cho đến lần gặp lại, hy vọng các vòng lặp của bạn sẽ hiệu quả và các lệnh continue
của bạn sẽ chiến lược!
Credits: Image by storyset