Chương 7: Mảng trong PHP

Nội dung học:

1. Tổng quan về mảng

  • Mảng là một cấu trúc dữ liệu lưu trữ nhiều giá trị trong một biến duy nhất.
  • Các loại mảng:
    • Mảng chỉ số (Indexed Array): Mảng có các phần tử được đánh số thứ tự.
    • Mảng kết hợp (Associative Array): Mảng với các cặp key-value.
    • Mảng đa chiều (Multidimensional Array): Mảng chứa các mảng con bên trong.

2. Cách khai báo mảng

  • Mảng chỉ số: $mangChiSo = ["Táo", "Chuối", "Cam"]; // Hoặc: $mangChiSo = array("Táo", "Chuối", "Cam");
  • Mảng kết hợp: $mangKetHop = [ "ten" => "Thu Trang", "tuoi" => 25, "diaChi" => "Hà Nội" ];
  • Mảng đa chiều: $mangDaChieu = [ ["Học", "Lập", "Trình"], ["PHP", "JavaScript", "Python"] ];

3. Truy cập và thay đổi phần tử trong mảng

  • Truy cập phần tử: echo $mangChiSo[0]; // Kết quả: Táo echo $mangKetHop["ten"]; // Kết quả: Thu Trang
  • Thay đổi giá trị phần tử: $mangChiSo[1] = "Dưa Hấu"; // Thay "Chuối" bằng "Dưa Hấu"
  • Thêm phần tử mới: $mangChiSo[] = "Nho"; // Thêm "Nho" vào cuối mảng $mangKetHop["email"] = "thutrang@example.com"; // Thêm key "email"

4. Các hàm xử lý mảng phổ biến

  • count(): Đếm số lượng phần tử trong mảng. echo count($mangChiSo); // Kết quả: 3
  • array_push(): Thêm một hoặc nhiều phần tử vào cuối mảng. array_push($mangChiSo, "Mít", "Ổi");
  • array_pop(): Xóa phần tử cuối cùng của mảng. array_pop($mangChiSo);
  • array_merge(): Gộp hai hoặc nhiều mảng lại với nhau. $mangMoi = array_merge($mangChiSo, ["Xoài", "Lê"]);
  • sort()rsort(): Sắp xếp mảng tăng dần và giảm dần. sort($mangChiSo); rsort($mangChiSo);

5. Vòng lặp và mảng

  • Duyệt mảng bằng vòng lặp for: for ($i = 0; $i < count($mangChiSo); $i++) { echo $mangChiSo[$i] . " "; }
  • Duyệt mảng bằng vòng lặp foreach: foreach ($mangKetHop as $key => $value) { echo "$key: $value\n"; }
  • Duyệt mảng đa chiều: foreach ($mangDaChieu as $mangCon) { foreach ($mangCon as $giaTri) { echo $giaTri . " "; } }

Bài tập thực hành:

  1. Bài tập 1: Tính tổng các số trong mảng
    • Viết chương trình tính tổng tất cả các phần tử trong một mảng số nguyên.
    • Gợi ý: $mangSo = [1, 2, 3, 4, 5]; $tong = 0; foreach ($mangSo as $so) { $tong += $so; } echo "Tổng: $tong"; // Kết quả: 15
  2. Bài tập 2: Xử lý thông tin sinh viên
    • Viết chương trình lưu danh sách sinh viên (tên, tuổi, điểm) và hiển thị từng sinh viên kèm điểm trung bình của họ.
    • Gợi ý: $sinhVien = [ ["ten" => "A", "diem" => [8, 9, 10]], ["ten" => "B", "diem" => [6, 7, 8]], ]; foreach ($sinhVien as $sv) { $diemTb = array_sum($sv["diem"]) / count($sv["diem"]); echo $sv["ten"] . ": " . round($diemTb, 2) . "\n"; }
  3. Bài tập 3: Sắp xếp mảng
    • Yêu cầu: Nhập một mảng số nguyên, sau đó sắp xếp theo thứ tự tăng dần và giảm dần.
  4. Bài tập 4: Tìm giá trị lớn nhất và nhỏ nhất trong mảng
    • Yêu cầu: Viết chương trình tìm giá trị lớn nhất và nhỏ nhất trong một mảng số nguyên.
  5. Bài tập 5: Mảng đa chiều
    • Tạo một mảng đa chiều lưu thông tin sản phẩm (tên, giá, số lượng) và tính tổng giá trị tồn kho.

Lưu ý quan trọng:

  • Hiểu rõ cách khai báo và sử dụng các loại mảng.
  • Thực hành nhiều với các hàm xử lý mảng để tăng khả năng xử lý dữ liệu.
  • Tối ưu hóa thuật toán khi làm việc với mảng lớn.

Viết một bình luận