1. Trang chủ
  2. » Công Nghệ Thông Tin

Vòng lặp for trong php

5 291 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 21,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vậy là ta đã học xong hai lệnh rẻ nhánh rất quan trọng trong lập trình php đó là câu lệnh switch case và câu lệnh if else. Vậy thì trong bài này ta sẽ bắt đầu tìm hiểu một khái niệm mới hơn đó là vòng lặp, và ta sẽ tìm hiểu khái niệm vòng lặp for trong php trước.Nội dung bao gồm:Vòng lặp là gì ?Vòng lặp forVòng lặp for lồng nhauVòng lặp for trong việc xử lý mảng

Trang 1

Vòng l p for trong php ặ

N i dung chính ộ

• 1 Vòng l p là gì ?ặ

• 2 Vòng l p forặ

• 3 Vòng l p for l ng nhauặ ồ

• 4 Vòng l p for k t h p v i m ngặ ế ợ ớ ả

• 5 L i k tờ ế

1 Vòng l p là gì ? ặ

Vòng l p là m t mã l nh trong ó chặ ộ ệ đ ươn g trình được th c hi n l p i l p l i nhi u l n cho n khi ự ệ ặ đ ặ ạ ề ầ đế

th a m t i u ki n nào ó Vòng l p là m t khái ni m c b n trongỏ ộ đ ề ệ đ ặ ộ ệ ơ ả l p trình c u trúc.ậ ấ

Trong PHP có các vòng l p sau:ặ

• Vòng l p forặ

• Vòng l p while vàặ do while

• Vòng l p foreachặ

2 Vòng l p for ặ

Cú pháp:

1

2

3

4

for($bien_dieu_khien; $bieu_thuc_dieu_kien; $bieu_thuc_thay_doi_bien_dieu_khien) {

// lệnh

}

Trong ó:đ

• $bien_dieu_khien: là m t câu l nh gán giá tr ban ộ ệ ị đầu cho bi n i u khi n trế đ ề ể ước khi th c ự

hiên vòng l p, ho c là m t bi n có giá tr s n mà ta ã truy n vào cho nó trặ ặ ộ ế ị ẵ đ ề ước khi t o vòng ạ

l p này, l nh này ặ ệ được th c hi n duy nh t m t l n.ự ệ ấ ộ ầ

• $bieu_thuc_dieu_kien: là m t bi u th c quan h xác nh i u ki n thoát kh i vòng l p.ộ ể ứ ệ đị đ ề ệ ỏ ặ

Trang 2

• $bieu_thuc_thay_doi_bien_dieu_khien: Xác nh bi n i u khi n s b thay đị ế đ ề ể ẽ ị đổi nh th nào ư ế

sau m i l n l p ỗ ầ ặ đượ ặ ạc l p l i (thường là t ng ho c gi m giá tr c a bi n i u khi n).ă ặ ả ị ủ ế đ ề ể

Ba bi u th c trên ể ứ được cách nhau b i d u ch m ph y, vòng l p s l p khi bi u th c i u ki n úng,ở ấ ấ ẩ ặ ẽ ặ ể ứ đ ề ệ đ

khi bi u th c i u ki n sai thì vòng l p s d ng và thoát, và ta s d ng cácể ứ đ ề ệ ặ ẽ ừ ử ụ toán t quan h và toán ử ệ

t logicử trong các bi u th c i u ki n ể ứ đ ề ệ để đ ề i u khi n vòng l p.ể ặ

Xét ví d dụ ướ đi ây:

1

2

3

for($i= 0; $i< 10; $i++){

echo$i ' - ';

}

• $i = 0 là bi n i u khi n có giá tr kh i t o b ng 0ế đ ề ể ị ở ạ ằ

• $i < 10 là bi u th c i u ki n d ng vòng l p, có ý ngh a n uể ứ đ ề ệ ừ ặ ĩ ế $i < 10 thì vòng l p v n ti p t c,ặ ẫ ế ụ

ngượ ạ ếc l i n u$i >= 10thì bi u th c sai nên vòng l p s thoátể ứ ặ ẽ

• $i++ là bi u th c thay ể ứ đổi bi n i u khi n, sau m i vòng l pế đ ề ể ỗ ặ $i s t ng lên 1ẽ ă

Bướ ặc l p 1: $i = 0, bi u th c i u ki n s thànhể ứ đ ề ệ ẽ (0 < 10) => true => vòng l p ặ được th c hi n và xu tự ệ ấ

ra màn hình chu i “0 -” Sau khi th c hi n h t các l nh bên trong vòng l p thì bi u th c thay ỗ ự ệ ế ệ ặ ể ứ đổ đ ềi i u

ki n ệ được th c hi n nên bi nự ệ ế $i s ẽ đượ ăc t ng lên 1 nên lúc này$i = 1

Bướ ặc l p 2: $i = 1, bi u th c i u ki n s thànhể ứ đ ề ệ ẽ (1 < 10) => true => vòng l p ặ được th c hi n và xu tự ệ ấ

ra màn hình chu i “1 – “ K t h p v i chu i vòng l p 1 lúc này màn hình s xu t hi n chu i “0 - 1 ỗ ế ợ ớ ỗ ở ặ ẽ ấ ệ ỗ

-” Sau khi các l nh bên trong vòng l p th c hi n xong bi u th c thay ệ ặ ự ệ ể ứ đổ đ ềi i u ki n th c hi n nên ệ ự ệ

bi nế $i s t ng lên 1 nên lúc nàyẽ ă $i = 2

Tương t cho các bự ướ ặc l p 3, 4, 5, 6, 7, 8, 9

Bướ ặc l p 10: $i = 10, bi u th c i u ki n s thànhể ứ đ ề ệ ẽ (10 < 10) => false => vòng l p k t thúc Lúc này ặ ế

bi nế $i s gi nguyên và không t ng lên n a nên gi nguyên giá tr 10.ẽ ữ ă ữ ữ ị

K t thúcế : Màn hình xu t ra chu i “0 – 1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9 – ”.ấ ỗ

V i ví d trên thì ta có th vi t l i nh sau và k t qu tr v là gi ng nhau, ch khác nhau ch ớ ụ ể ế ạ ư ế ả ả ề ố ỉ ở ỗ

bi nế $iđược gán giá tr ngoài vòng l p.ị ở ặ

1

2

3

4

$i= 0;

for($i; $i< 10; $i++){

echo$i ' - ';

}

Trang 3

ví d trên thì bi u th c thay bi n i u khi n là t ng d n, ví d d i ây bi u th c i u khi n s

gi m d n và k t qu s in ngả ầ ế ả ẽ ượ ạc l i “9 - 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1 - 0 -”

1

2

3

for($i= 9; $i>= 0; $i ){

echo$i ' - ';

}

Trong thân vòng l p ta có th thêm nh ng bi u th c b ng cách dùng d u ph y ặ ể ữ ể ứ ằ ấ ả để ng n cách chúng.ă

Ví d :ụ

1

2

3

for($i= 9, $count= 10; $i<= $count; $i ){

echo$i ' - ';

}

3 Vòng l p for l ng nhau ặ ồ

Gi ng nh câu i u ki n if, vòng l p for trong php có th l ng nhau ố ư đ ề ệ ặ ể ồ để ử x lý bài toán m i vòng Ở ỗ

l p cha thì vòng l p con s ặ ặ ẽ được th c hi n (ự ệ vòng l p con l p cho ặ ặ đế n h t ế), i u này tuân th theo đ ề ủ

quy t c ph i th c hi n h t n i dung dòng l nh bên trong vòng l p m i th c hi n vòng k ti p.ắ ả ự ệ ế ộ ệ ặ ớ ự ệ ế ế

Ví d :ụ

1

2

3

4

5

6

7

8

for($i= 1; $i< 10; $i++)

{

for($j= 9; $j>= $i; $j )

{

echo$j;

}

echo'<br/>';;

}

Bài toán này xu t ra màn hình m t tam giác:ấ ộ

987654321

98765432

9876543

987654

98765

Trang 4

987

98

9

T ng s l n l p chính là b ng tích s l n l p c a 2 vòng l p c ng thêm s l n l p c a vòng l p cha ổ ố ầ ặ ằ ố ầ ặ ủ ặ ộ ố ầ ặ ủ ặ

Ví d vòng l p 1 l p 10 l n, vòng l p 2 l p 10 l n thì t ng s vòng l p s là 10 x 10 + 10 = 110 l n ụ ặ ặ ầ ặ ặ ầ ổ ố ặ ẽ ầ

Vì th chi phí ế để vòng l p for l p l ng nhau r t cao.ặ ặ ồ ấ

4 Vòng l p for k t h p v i m ng ặ ế ợ ớ ả

T ví d trên ta nh n th y r ngừ ụ ậ ấ ằ vòng l p for trong phpặ l p m t cách trình t t ng ho c gi m ặ ộ ự ă ặ ả đều,

i u này gi ng v i các ch m c trong

đ ề ố ớ ỉ ụ m ngả V y ta nh n xét r ng có th dùng vòng l p ậ ậ ằ ể ặ để truy xu t ấ

t ng ph n t c a m ng.ừ ầ ử ủ ả

Ví d :ụ Cho m t m ng các sinh viên:ộ ả

1

2

3

4

5

6

7

8

$sinhvien= array(

'Nguyễn A',

'Nguyễn B',

'Nguyễn C',

'Nguyễn D',

'Nguyễn E',

'Nguyễn F'

);

Hãy xu t các sinh viên trong m ng ra màn hình ?ấ ả

Cách 1: D a vào ch m c xu t ra t ng ph n tự ỉ ụ ấ ừ ầ ử

1

2

3

4

5

6

echo$sinhvien[0];

echo$sinhvien[1];

echo$sinhvien[2];

echo$sinhvien[3];

echo$sinhvien[4];

echo$sinhvien[5];

Cách 2: Dùng vòng l p forặ

Trang 5

2

3

for($i= 0; $i< 6; $i++){

echo$sinhvien[$i];

}

Nhìn vào bài gi i các b n có bi t t i sao ch m c l i b t ả ạ ế ạ ỉ ụ ạ ắ đầu b ng 0 ? T i vì trong m ng ph n t ằ ạ ả ầ ử đầu tiên có ví trí s 0, và ph n t cu i cùng có v trí (n-1) Trong ó n là t ng s ph n t ố ầ ử ố ị đ ổ ố ầ ử

V i cách gi i th 2 ta có th bi n ớ ả ứ ể ế đổi m t chút là dùng hàm count() ộ để đếm t ng s ph n t và l p, ổ ố ầ ử ặ

nh v y dù trong m ng sinh viên có bao nhiêu ph n t i n a thì v n không nh hư ậ ả ầ ử đ ữ ẫ ả ưởng gì đến code N u ta không làm v y thì gi s ta xóa danh sách sinh viên còn xu ng 3 sinh viên thì v i cáchế ậ ả ử ố ớ

2 s thông báo l i ngay, còn cách dẽ ỗ ướ đi ây s không có l i.ẽ ỗ

Cách 2 ch nh s a l i:ỉ ử ạ

1

2

3

for($i= 0; $i< count($sinhvien); $i++){

echo$sinhvien[$i];

}

Xét v ề độ ố ư t i u thì cách này v n ch a t i u vì hàm count ta ẫ ư ố ư để ngay trong thân vòng l p, nh v y ặ ư ậ

m i l n l p nó ph i ỗ ầ ặ ả đếm t ng s ph n t c a m ng m ng có 10 ph n t thì nó ổ ố ẩ ử ủ ả ả ầ ư đếm 10 l n, 20 ph n ầ ầ

t thì nó ử đếm 20 l n Trong khi th c t ta ch c n ầ ự ế ỉ ầ đếm 1 l n vì th cách sau s t i u h n.ầ ế ẽ ố ư ơ

1

2

3

4

$count= count($sinhvien);

for($i= 0; $i< $count; $i++){

echo$sinhvien[$i];

}

i v i m ng 2 chi u chúng ta ph i dùng vòng l p l ng 2 c p x lý, v n này s c c p

trong bài x lý m ng trong php.ử ả

Ngày đăng: 10/09/2017, 12:01

HÌNH ẢNH LIÊN QUAN

Bài toán này xu t ra màn hình mt tam giác: ộ - Vòng lặp for trong php
i toán này xu t ra màn hình mt tam giác: ộ (Trang 3)

TỪ KHÓA LIÊN QUAN

w