Hướng dẫn dùng foreach sql trong PHP

Ở các bài trước chúng ta đã được học ba vòng lặp [vòng lặp for, vòng lặp while và do while], vậythì hôm nay chúng ta sẽ được biết thêm một vòng lặp mới nữa đó là vòng lặp foreach. Vòng lặp foreach trong php dùng để lặp các phần tử trong mảng, chính vì thế nó được sử dụng rất nhiều khi chúng ta làm dự án với PHP, hầu như ai cũng thích bởi vì sử dụng đơn giản.

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

1. Cú pháp vòng lặp foreach trong PHP

Cú pháp vòng lặp foreach trong php:

foreach [$array as $key => $value]{
    // Các dòng lệnh
}

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

Hoặc:

foreach [$array as $value]{
    // Các dòng lệnh
}

Trong đó $array là mảng cần lặp, $key là số chỉ mục [mảng có chỉ mục] hoặc là key [trong mảng kết hợp], $value là giá trị của phần tử ở vị trí $key.

Ví dụ 1:

// Danh sách các năm
$nam = array[
    1990,
    1991,
    1992,
    1993,
    1994,
    1995
];
 
//Dùng foreach xuất ra các năm trong $nam
foreach [$nam as $key => $value]{
    echo $value;
}

Vòng lặp foreach tự động lặp qua các phần tử trong mảng, nó lặp cho khi nào tới phần tử cuối cùng thì thôi. Như ở ví dụ trên thì $nam là mảng ta truyền vào, $key$value là 2 tham số mà ở mỗi vòng lặp nó tự động truyền giá trị vào đó và chúng ta chỉ việc sử dụng. Kết quả xuất ra màn hình là:

0 => 1990
1 => 1991
2 => 1992
3 => 1993
4 => 1994
5 => 1995

Nếu để ý kỹ thì các bạn sẽ thấy trong vòng lặp tôi chỉ truyền $nam vào, còn $key$value không thay đổi, phải chăng nó luôn luôn như vậy? Câu trả lời là không phải, bạn có thể đặt nó là một cái tên bất kì nhé, ví dụ chương trình sau là tương đương:

// Danh sách các năm
$nam = array[
    1990,
    1991,
    1992,
    1993,
    1994,
    1995
];
 
//Dùng foreach xuất ra các năm trong $nam
foreach [$nam as $chimuc => $giatri]{
    echo $chimuc . ' => ' . $giatri;
}

Với bài toán trên ta có thể dùng cú pháp thứ 2 của vòng lặp foreach trong php để giải nó:

// Danh sách các năm
$nam = array[
    1990,
    1991,
    1992,
    1993,
    1994,
    1995
];
 
//Dùng foreach xuất ra các năm trong $nam
foreach [$nam as $value]{
    echo $value;
}

Trong ví dụ này ta không lấy được $key mà chỉ lấy được mỗi $value bởi vì ta không truyền biến $key vào. Kết quả xuất ra màn hình là:

1990
1991
1992
1993
1994
1995

Ví dụ 2:

Trong ví dụ này danh sách sinh viên truyền vào là một mảng kết hợp theo quy tắc mssv => tensv, trong vòng lặp sẽ xuất ra mã số sinh viên và tên sinh viên tương ứng. Với cách giải sau thì chỉ lấy được tên chứ không lấy được mã số sinh viên:

// Danh sách mã số sinh viên và sinh viên tương ứng
$sinhvien = array[
    'SV001' => 'Nguyễn Văn A',
    'SV002' => 'Nguyễn Văn B',
    'SV003' => 'Nguyễn Văn C',
    'SV004' => 'Nguyễn Văn D',
    'SV005' => 'Nguyễn Văn E'
];
 
// Xuất ra danh sách sinh viên
foreach [$sinhvien as $tensv]{
    echo $tensv . '
'; }

Đấy chính là sự khác biệt giữa hai cách lặp.

Để hiểu rõ hơn về vòng lặp foreach trong PHP thì mời các bạn đọc bài viết "bản chất vòng lặp foreach trong php", đây là một bài thảo luận về tốc độ cũng như quy trình hoạt động của vòng lặp foreach.

2. Lời kết

Kết thúc bài này tôi hy vọng các bạn nắm được cách sử dụng vòng lặp foreach trong php để xử lý mảng. Xin lưu ý với các bạn rằng vòng lặp foreach có thể lặp lồng nhau để xử lý mảng nhiều chiều, mình sẽ không cho ví dụ vì bài quá dài đọc dễ nhàm chán và cũng một phần vì trong quá trình học chúng ta sẽ đụng tới vấn đề này nên coi như tôi duyệt nó ở phần sau. Trong bài tới chúng ta học các lệnh break, continiue, go to, die, exit, đó là những lệnh kết thúc vòng lặp hoặc thoát chương trình.

- Trong PHP, vòng lặp là một loại cú pháp giúp ta lặp lại việc thực thi một đoạn mã nhiều lần.

- Ví dụ, nếu tôi muốn hiển thị lên màn hình 100 dòng chữ "Lập Trình Web" thì đáng ra phải gõ 100 câu lệnh echo "

Lập Trình Web

"; . Tuy nhiên, với việc sử dụng vòng lặp thì chỉ cần ba câu lệnh như bên dưới là đủ.

- Qua ví dụ trên, ta thấy "vòng lặp" giúp tiết kiệm rất nhiều thời gian trong việc viết những đoạn mã cần thực thi nhiều lần liên tiếp.

- Trong PHP, vòng lặp được chia làm bốn loại:

  1. [1] Vòng lặp for
  2. [2] Vòng lặp foreach
  3. [3] Vòng lặp while
  4. [4] Vòng lặp do while

- Ở bài hướng dẫn này, bạn sẽ được tìm hiểu hai loại vòng lặp là for và foreach

2] Vòng lặp for trong PHP

- Vòng lặp for dùng để lặp lại việc thực thi đoạn mã nào đó một số lần.

2.1] Cú pháp

for[biểu thức 1; biểu thức 2; biểu thức 3]{
    //Đoạn mã mà bạn muốn được thực thi
}

- Trong đó:

  1. Biểu thức 1 thường là một câu lệnh khai báo biến
  2. Biểu thức 2 là một biểu thức điều kiện
  3. Biểu thức 3 thường là một biểu thức làm thay đổi giá trị của biến được khai báo trong biểu thức 1

2.2] Ví dụ thứ nhất

- Sử dụng vòng lặp for để hiển thị ba câu "Lập Trình Web" lên màn hình.

2.3] Ví dụ thứ hai

- Sử dụng vòng lặp for để hiển thị một dãy số tăng dần từ 1 đến 10.

2.4] Ví dụ thứ ba

- Sử dụng vòng lặp for để hiển thị một dãy số giảm dần từ 9 xuống 2.

2.5] Vòng lặp for lồng nhau

- Thực chất vòng lặp for lồng nhau chỉ là cách sử dụng nâng cao của vòng lặp for thông thường để giúp cho số lần lặp được tăng theo cấp số nhân.

- Vòng lặp con được đặt vào bên trong vòng lặp cha. Khi điều kiện của vòng lặp cha đúng thì vòng lặp con sẽ được thực thi.

- Dưới đây là cú pháp cơ bản của một vòng lặp for lồng nhau:

for[biểu thức 1; biểu thức 2; biểu thức 3]{
    for[biểu thức 1; biểu thức 2; biểu thức 3]{
        //Đoạn mã mà bạn muốn được thực thi
    }
}

Lưu ý: Bên trong vòng lặp cha, ngoài vòng lặp con thì nó còn có thể chứa thêm các mã lệnh khác.

Ví dụ: hiển thị dãy số từ 1 đến 50 [bằng cách sử dụng vòng lặp for lồng nhau]

2.6] Lệnh break

- Lệnh break thường được đặt vào bên trong vòng lặp for.

- Khi lệnh break được thực thi, vòng lặp sẽ kết thúc mặc cho điều kiện của vòng lặp có còn đúng hay không.

Ví dụ:

- Lặp lại 10 lần việc hiển thị giá trị của biến number.

- Sau mỗi lần hiển thị cho giá trị của biến number tăng thêm một.

- Tuy nhiên, đến khi giá trị của biến number được tăng lên thành 5 thì kết thúc vòng lặp.

2.7] Lệnh continue

- Lệnh continue thường được đặt vào bên trong vòng lặp for.

- Khi lệnh continue được thực thi, những câu lệnh còn lại của lần lặp hiện tại sẽ bị bỏ qua.

Ví dụ: hiển thị dãy số từ một đến mười [ngoại trừ các số 2, 5, 9]

3] Vòng lặp foreach trong PHP

- Vòng lặp foreach chỉ làm việc với mảng [Array]

- Vòng lặp foreach dùng để lặp lại việc thực thi một đoạn mã nào đó với số lần lặp lại bằng với số phần tử của mảng [Ví dụ: nếu mảng có 5 phần tử thì đoạn mã sẽ được thực thi lặp lại 5 lần]

- Trong mỗi lần lặp, giá trị của phần tử mảng hiện tại sẽ được lưu vào một biến.

Cú pháp:

foreach [$array as $value] {
    //Đoạn mã mà bạn muốn được thực thi
}

Ví dụ:

Trong vòng lặp foreach bên dưới:

  1. Lần lặp thứ nhất, biến $value sẽ lưu giá trị phần tử thứ nhất của mảng $data [$data[0]]
  2. Lần lặp thứ hai, biến $value sẽ lưu giá trị phần tử thứ hai của mảng $data [$data[1]]
  3. Lần lặp thứ ba, biến $value sẽ lưu giá trị phần tử thứ ba của mảng $data [$data[2]]
  4. Lần lặp thứ tư biến $value sẽ lưu giá trị phần tử thứ tưcủa mảng $data [$data[3]]
  5. Lần lặp thứ năm, biến $value sẽ lưu giá trị phần tử thứ năm của mảng $data [$data[4]]

Chủ Đề