Hướng dẫn dùng continue continue trong PHP

Bài trước chúng ta đã tìm hiểu vòng lặp cuối cùng đó là vòng lặp foreach trong php, vậy thì trong bài này chúng ta sẽ tìm hiểu một số câu lệnh dừng chương trình vòng lặp và lệnh nhảy tới một vị trí nào đó trong file PHP.

Hướng dẫn dùng continue continue trong PHP

Hướng dẫn dùng continue continue trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Nội dung chúng ta gồm ó các phần như sau:

  • Câu lệnh Break
  • Câu lệnh Continue
  • Câu lệnh Goto
  • Câu lệnh Die & Exit

1. Câu lệnh break

Lệnh break thường được dùng để thoát khỏi vòng lặp cho dù vòng lặp vẫn chưa kết thúc.

Ví dụ:

Bài viết này được đăng tại [free tuts .net]

for ($i = 1; $i <= 100; $i++)
{
    echo $i . ' ';
    if ($i == 20)
    {
        break;
    }
}

Trong ví dụ này thì vòng lặp được lặp từ 1 cho tới 100, nhưng nó không chạy hết 100 lần bởi vì khi nó chạy tới lần thứ 20 (tức là biến $i = 20) thì câu lệnh kiểm tra if đúng nên lệnh break bên trong câu if được thực hiện và sẽ dừng vòng lặp.

Không chỉ ở vòng lặp for mà các vòng lặp như while và do while, vòng lặp foreach ta đều có thể dùng lệnh break để kết thúc.

2. Câu lệnh continue

Dịch ra tiếng anh cũng đủ hiểu phần nào câu lệnh này, lệnh continue sẽ bỏ qua những đoạn code bên dưới nó và nhảy qua vòng lặp kế tiếp (không thoát hẳn vòng lặp như lệnh break).

Ví dụ:

for ($i = 1; $i <= 10; $i++)
{
    if ($i == 5)
    {
        continue;
    }
    echo $i . ' ';
}

Bài này vòng lặp for lặp từ 1 tới 10 và in ra các số đó. nhưng lạ thay là kết quả thiếu mất số 5 tại vì khi $i = 5 (vòng lặp thứ 5) thì câu lệnh continue đã nhảy chương trình qua vòng lặp mới nên lệnh echo $i không thực hiện được.

Tương tự ta có thể sử dụng lệnh này cho tất cả các vòng lặp for, while, do while và foreach.

3. Câu lệnh goto

Lệnh goto dùng để nhảy đến một dòng code nào đó.

Ví dụ:

$a = 12;
$b = 13;
$c = $a + $b;
 
echo $a;
 
goto label_end;
 
echo $b;
 
label_end;

Trong ví dụ này nếu bình thường thì nó sẽ xuất ra màn hình cả $a và $b nhưng bài này nó chỉ xuất ra màn hình mỗi $a vì dòng goto label_end sẽ nhảy chương trình đến cái nhãn label_end nên dòng echo $b; không được thực hiện. label_end được gọi là nhãn (có thể đặt tên bất kỳ).

Người ta khuyên rằng không nên sử dụng lệnh goto bởi vì nó khó nhìn, lộn xộn khó bảo trì nâng cấp.

4. Lênh die và exit

Với 2 lệnh break và continue chỉ ảnh hương trong vòng lặp thì lệnh die và exit lại ảnh hưởng tới cả chương trình, nếu bạn dùng 2 lệnh này thì chương trình sẽ dừng ngay lập tức và những đoạn code bên dưới die và exit sẽ không được thực hiện.

Ví dụ:

echo '123';
 
die(); // hoặc exit();
echo '456';

Trong ví dụ này kết quả xuất ra màn hình là 123, vởi vì dòng code echo ’456′ không được thực hiện.

5. Lời kết

Thực tế thì ta hay sử dụng lệnh break, continue, die và exit thôi chứ lệnh goto rất ít khi dùng vì nó làm cho chương trình trở lên rối, khó nâng cấp và bảo trì. Bài tiếp theo ta sẽ tìm hiểu hàm trong php.

Nội dung chính

  • Lệnh continue trong PHP
  • Sử dụng lệnh continue bỏ qua lượt lặp hiện tại trong vòng lặp for PHP
  • Sử dụng lệnh continue để bỏ qua lượt lặp hiện tại trong vòng lặp while PHP
  • Tổng kết

Hướng dẫn cách sử dụng lệnh continue trong PHP. Bạn sẽ học được cách dùng lệnh continue để bỏ qua lượt lặp hiện tại của vòng lặp trong PHP sau bài học này.

Lệnh continue trong PHP

Lệnh continue trong PHP được sử dụng để bỏ qua lượt lặp hiện tại và bắt đầu lượt lặp kế tiếp của vòng lặp trong PHP . Các vòng lặp trong PHP như vòng lặp while hoặc vòng lặp for sẽ bỏ qua lượt lặp hiện tại khi lệnh continue được thực hiện. Tất cả các xử lý còn lại đằng sau lệnh continue trong lượt lặp hiện tại đều bị bỏ qua và chương trình bắt đầu lượt lặp kế tiếp.

Cú pháp của lệnh continue trong PHP như sau:

continue;

Câu lệnh continue trong PHP được sử dụng kết hợp với câu lệnh if trong PHP và được miêu tả trong khối lệnh while hoặc khối lệnh for giống như sau đây::

for (biểu thức khởi tạo ; biểu thức điều kiện ; biểu thức thay đổi ) {
    Câu lệnh 1 trong khối for ;
    Câu lệnh 2 trong khối for ;
    if (biểu thức điều kiện if){
        continue;
        }
    Câu lệnh 3 trong khối for ;
}

Để hiểu rõ hơn, chúng ta sẽ sử dụng lại ví dụ trong bài For trong PHP và cách xử lý chi tiết. Chúng ta có một vòng lặp for để in ra màn hình 3 lần dòng hello như sau:

for ($i = 1; $i < 4; $i++){
echo "hello ".$i."\n";
}
echo 'bye';





Chúng ta sẽ dùng lệnh continue để bỏ qua và không in dòng chữ hello ở vòng lặp thứ 2 như sau:

for ($i = 1; $i < 4; $i++){
if ($i == 2){
echo "CONTINUE!\n";
continue;
}
echo "hello ".$i."\n";
}
echo 'bye';

Khi đó vòng lặp for continue trong php sẽ chạy như sau:
Lượt lặp đầu tiên:

  1. Khai báo biến $i và gán giá trị ban đầu $i = 1
  2. Biểu thức điều kiện For ($i < 4) là TRUE nên thực thi vòng lặp
  3. Biểu thức điều kiện IF $i == 2 là là False nên khối lệnh if (chứa lệnh continue) được bỏ qua
  4. Chạy lệnh echo "hello ".$i."\n"
  5. Biểu thức thay đổi tăng giá trị $i lên 1 đơn vị thành $i=2

Lượt lặp thứ 2:

  1. Biểu thức điều kiện For ($i < 4) là TRUE nên thực thi vòng lặp
  2. Biểu thức điều kiện IF $i == 2 là True nên các lệnh trong khối if (bao gồm cả lệnh continue) được thực thi. Do lệnh continue được chạy nên các lệnh còn lại của vòng lặp đằng sau continue cũng sẽ được bỏ qua.
  3. Biểu thức thay đổi tăng giá trị $i lên 1 đơn vị thành $i=3

Lượt lặp thứ 3:

  1. Biểu thức điều kiện For ($i < 4) là TRUE nên thực thi vòng lặp
  2. Biểu thức điều kiện IF $i == 2 là False nên khối lệnh if (chứa lệnh continue) được bỏ qua
  3. Chạy lệnh echo "hello ".$i."\n"
  4. Biểu thức thay đổi tăng giá trị $i lên 1 đơn vị thành $i=4

Lượt lặp thứ 4:

  1. Biểu thức điều kiện $i < 4 là FALSE nên thoát khỏi vòng lặp

Ngoài vòng lặp:

  1. Chạy lệnh tiếp theo echo 'bye' sau khi thoát vòng lặp.

Kết quả, vòng lặp for ở trên sẽ in ra màn hình console như sau:

hello 1
CONTINUE!
hello 3
bye

Chúng ta có thể khái quát xử lý bằng sơ đồ khối của lệnh continue trong PHP khi sử dụng trong vòng lặp for như sau:

Sử dụng lệnh continue bỏ qua lượt lặp hiện tại trong vòng lặp for PHP

Chúng ta sử dụng lệnh continue để bỏ qua lượt lặp hiện tại trong vòng lặp for PHP và thực hiện các lượt lặp kế tiếp. Lệnh while sẽ bỏ qua lượt lặp while hiện tại khi lệnh continue được thực hiện, tất cả các xử lý sau lệnh continue đều bị bỏ qua và chương trình bắt đầu một lượt lặp mới.

Hãy xem ví dụ về vòng lặp for để tính tổng các số từ 1 đến 10. Nếu không sử dụng lệnh continue thì chương trình sẽ chạy như sau:

$sum = 0;
for ($i = 1; $i <=10; $i++){
echo $i."\n";
$sum += $i ;
}
echo "SUM ".$sum;











Tuy nhiên khi chúng ta sử dụng thêm lệnh continue và muốn bỏ qua vòng lặp khi biến num có giá trị bằng 2, chương trình sẽ không in ra giá trị num bằng 2 cũng như không tính num vào tổng chung như sau:

$sum = 0;
for ($i = 1; $i <=10; $i++){
if ($i == 2){
echo "CONTINUE!\n";
continue;
}
echo $i."\n";
$sum += $i ;
}
echo "SUM ".$sum;











Bạn có thể thấy chúng ta đã bỏ qua vòng lặp for trong PHP bằng lệnh continue tại vị trí $num ==2 rồi phải không nào?

Về cách sử dụng vòng lặp for, hãy xem chi tiết tại bài viết Vòng lặp for trong PHP

Sử dụng lệnh continue để bỏ qua lượt lặp hiện tại trong vòng lặp while PHP

Chúng ta sử dụng lệnh continue để bỏ qua lượt lặp hiện tại trong vòng lặp while PHP và thực hiện các lượt lặp kế tiếp. Lệnh while sẽ bỏ qua lượt lặp while hiện tại khi lệnh continue được thực hiện, tất cả các xử lý sau lệnh continue đều bị bỏ qua và chương trình bắt đầu một lượt lặp mới.

Hãy xem ví dụ về vòng lặp while để in ra các số từ 1 đến 10. Nếu không sử dụng lệnh continue thì chương trình sẽ chạy như sau:

$num = 1;

while ($num <= 10){
echo $num."\n";
$num++;
}










Tuy nhiên khi chúng ta sử dụng thêm lệnh continue và muốn bỏ qua vòng lặp khi biến num có giá trị bằng 2, chương trình sẽ không in ra giá trị num bằng 2 như sau:

$num = 1;

while ($num <= 10){
if ($num == 2){
echo "CONTINUE!\n";
$num++;
continue;
}
echo $num."\n";
$num++;
}










Bạn có thể thấy chúng ta đã bỏ qua vòng lặp while trong PHP bằng lệnh continue tại vị trí num ==2 rồi phải không nào?

Về cách sử dụng vòng lặp while, hãy xem chi tiết tại bài viết Vòng lặp while trong PHP

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng lệnh continue trong PHP rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về PHP trong các bài học tiếp theo.

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a>&nbsp;và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js">

Bài viết liên quan

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
Hướng dẫn dùng continue continue trong PHP

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.