Câu lệnh continue trong php | Laptrinhcanban.com

Câu lệnh continue trong php

Hướng dẫn cách sử dụng câu lệnh continue trong php.
Có phải bạn đã quá mệt mỏi với vòng xoay công việc, nhưng bạn vẫn phải continue nó? Hãy cùng Kiyoshi tìm hiểu về câu lệnh continue trong php thông qua bài học sau đây.

Chúng ta sử dụng câu lệnh continue trong php để bỏ qua các dòng lệnh tiếp theo của vòng lặp đang chạy.
Trong một vòng lặp, nếu xuất hiện lệnh continue thì các câu lệnh tiếp theo lệnh continue sẽ được bỏ qua, và chương trình quay lại đầu vòng lặp tiếp theo.

Cú pháp

Cách viết câu lệnh continue trong php như sau:

continue;

Ví dụ

Hãy xem ví dụ dưới đây để hiểu rõ hơn:
Chương trình tính tổng các số lẻ nhỏ hơn 100

$count = 0;
$sum = 0;

while ($count < 100){ // Sau khi lệnh continue được thực hiện, chương trình sẽ quay về vị trí này để thực hiện vòng lặp tiếp theo
$count += 1;

if ($count % 2 == 0){
continue;
}

// nếu lệnh continue được thực hiện, dòng dưới đây trong cùng khối sẽ không được thực hiện, mà sẽ quay lên đầu vòng lặp tiếp theo
$sum += $count;
}
print 'sum = '.$sum;

Kết quả

sum = 2500

Ở ví dụ trên, lệnh if được thêm vào bên trong vòng lặp while.Lệnh if này xét biến $count là số chẵn hay lẻ, nếu là số lẻ thì sẽ cộng $count thêm vào biến $num. Còn nếu biến $count là số chẵn, thì sử dụng lệnh continue để bỏ qua quy trình cộng $count thêm vào biến $num, và quay về đầu vòng lặp tiếp theo.

Giống như ví dụ trên, chúng ta có thể dùng lệnh continue để bỏ qua các câu lệnh mà chúng ta không muốn xử lý, khi thoả mãn một điều kiện gì đó.

Lệnh continue giống lệnh break ở chỗ chúng ta có thể chèn tự do vào vòng lặp để điều khiển xử lý vòng lặp theo ý muốn. Tuy nhiên lệnh continue khác break ở chỗ, lệnh break sẽ dừng hẳn tất cả các vòng lặp của lệnh while chứa nó, còn lệnh continue chỉ bỏ qua các lệnh của vòng lặp hiện tại để bắt đầu một vòng lặp mới.

Ngoài ra lệnh continue cũng giống lệnh break ở chỗ, trong một vòng lặp kép , chúng ta có thể chỉ định số thứ tự của lớp để quyết định sẽ bỏ qua bao nhiêu lớp của vòng lặp kép, như cách viết dưới đây:

continue số thứ tự của lớp ;

Hãy xem ví dụ cụ thể dưới đây:

$count1 = 0;
$sum = 0;
while ($count1 < 10){
$count1 += 1;

$count2 = 0;

while ($count2 < 10){ // Sau khi lệnh continue được thực hiện, chương trình sẽ quay về vị trí này để thực hiện vòng lặp tiếp theo
$count2 += 1;
if ($count2==5){
continue ; // dùng lệnh continue mặc định không có số thứ tự của lớp.
}

$sum += $count1 * $count2;
}
}
print 'sum = '.$sum;

Kết quả

sum = 2750

Vòng lặp kép ở ví dụ trên có hai lớp, một vòng lặp trong và một vòng lặp ngoài, với lệnhcontinue nằm ở vòng lặp trong. Do chúng ta dùng lệnh continue mặc định không chứa số thứ tự lớp, nên sau khi lệnh continue được thực hiện, chương trình sẽ bỏ qua các dòng lệnh tiếp theo trong cùng lớp với lệnh continue(nằm trong vòng lặp trong) và quay về vị trí đầu vòng lặp trong.

Cùng với ví dụ trên nhưng với việc chỉ định số thứ tự lớp, hãy xem ví dụ dưới đây:

$count1 = 0;
$sum = 0;
while ($count1 < 10){
$count1 += 1;

$count2 = 0;

while ($count2 < 10){ // Sau khi lệnh continue được thực hiện, chương trình sẽ quay về vị trí này để thực hiện vòng lặp tiếp theo
$count2 += 1;
if ($count2==5){
continue 2 ; // dùng lệnh continue mặc định không có số thứ tự của lớp.
}

$sum += $count1 * $count2;
}
}
print 'sum = '.$sum;

Kết quả

sum = 550

Do chúng ta chỉ định số thứ tự lớp (Lấy vòng lặp trong làm chuẩn là 1, thì vòng lặp ngoài có số thứ tự là 2 ), do đó khi lệnh continue được thực hiện, chương trình sẽ bỏ qua cả các dòng lệnh trong cùng một lớp với lệnh continue ( vòng lặp trong) và quay về vị trí đầu của vòng lặp ngoài. Sự khác biệt là vị trí di chuyển của chương trình là ở đầu vòng lặp trong hay là đầu vòng lặp ngoài.
Chúng ta cũng có thể thấy rõ ở ví dụ hai, chúng ta đã bỏ qua một số vòng lặp bên trong và chuyển thẳng sang vòng lặp bên ngoài, nên tổng được tính sẽ nhỏ hơn ở ví dụ 1.

Thực hành

Trăm hay không bằng tay quen, hãy cùng thực hành với ví dụ sau đây:
Chương trình in ra màn hình tất cả các số có 2 chữ số, mà chữ số tạo thành số đó đều nhỏ hơn 3

<?php
//Chương trình tính tổng các số lẻ nhỏ hơn 100

print "Chương trình tính tổng các số lẻ nhỏ hơn 100"."\n";
$count1 = 0;
$sum = 0;

while ($count1 < 10){
$count1 += 1;

$count2 = 0;

while ($count2 < 10){
$count2 += 1;
if ($count1 * $count2 > 30){
continue ;
}

$sum += $count1 * $count2;
}
}
print 'sum = '.$sum;

?>

Bạn hãy viết lại các dòng code trên vào cửa sổ luyện tập online dưới đây, sau đó click vào nút Run hoặc nhấn tổ hợp phím Ctrl +Enter và chờ xem điều gì sẽ xảy ra nhé.

Mở cửa sổ luyện tập mới

Tổng kết

Chúng ta dùng câu lệnh continue trong php để bỏ qua các câu lệnh tiếp theo của một vòng lặp. Trong một vòng lặp kép có nhiều lớp, chúng ta có thể quyết định số lớp muốn bỏ qua bằng cách chỉ định số thứ tự của lớp đó khi viết lệnh continue.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.