Chuyển đến nội dung
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()
và 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:
- 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
- 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"; }
- 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.
- 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.
- 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.