Bài 3: Mảng trong PHP

Bài 3: Mảng trong PHP

Trong bài học này, chúng ta sẽ tìm hiểu về mảng trong PHP.

1. Khái niệm mảng, khai báo và truy cập mảng

1.1. Khái niệm mảng

  • Mảng là một cấu trúc dữ liệu cho phép lưu trữ một tập hợp các giá trị có cùng kiểu dữ liệu trong một biến duy nhất.

  • Mỗi giá trị trong mảng được gọi là một phần tử.

  • Mỗi phần tử trong mảng được xác định bởi một chỉ số (index) duy nhất.

    • Index thường là số nguyên, bắt đầu từ 0.

1.2. Khai báo mảng

  • Sử dụng array():

$my_array = array("apple", "banana", "orange");

 

  • Sử dụng cú pháp ngắn gọn (từ PHP 5.4):

$my_array = ["apple", "banana", "orange"];

 

1.3. Truy cập phần tử mảng

  • Sử dụng index của phần tử:

$first_fruit = $my_array[0]; // Truy cập phần tử đầu tiên ("apple")
$second_fruit = $my_array[1]; // Truy cập phần tử thứ hai ("banana")

 

  • Ví dụ:

<?php
$fruits = ["apple", "banana", "orange"];

echo "Trái cây yêu thích của tôi là: " . $fruits[0]; // In ra: "Trái cây yêu thích của tôi là: apple"
?>

 

2. Các hàm xử lý mảng

PHP cung cấp nhiều hàm có sẵn để xử lý mảng một cách hiệu quả. Dưới đây là một số hàm thường được sử dụng:

2.1. count(): Đếm số phần tử trong mảng

$number_of_fruits = count($fruits);
echo "Có " . $number_of_fruits . " loại trái cây trong mảng.";

 

2.2. array_push(): Thêm một hoặc nhiều phần tử vào cuối mảng 

array_push($fruits, "grape", "mango");
print_r($fruits); // In ra mảng với "grape" và "mango" được thêm vào cuối

 

2.3. sort(): Sắp xếp mảng

sort($fruits); 
print_r($fruits); // In ra mảng được sắp xếp theo thứ tự bảng chữ cái 

 

2.4. implode(): Nối các phần tử của mảng thành một chuỗi

$fruit_string = implode(", ", $fruits);
echo "Các loại trái cây: " . $fruit_string;

 

2.5. explode(): Tách chuỗi thành mảng

$colors = "red,green,blue";
$color_array = explode(",", $colors);
print_r($color_array); // In ra mảng với các phần tử là "red", "green", "blue"

 

3. Các loại mảng

3.1. Mảng số (Indexed Array)

  • Mảng số sử dụng index là số nguyên tự động đánh số từ 0.

  • Đây là loại mảng chúng ta đã tìm hiểu ở phần 1 và 2.

3.2. Mảng kết hợp (Associative Array)

  • Mảng kết hợp cho phép bạn sử dụng khóa (key) là chuỗi để xác định các phần tử.

  • Khai báo:

$student = [
    "name" => "John Doe",
    "age" => 20,
    "major" => "Computer Science"
];

 

  • Truy cập:

echo "Tên sinh viên: " . $student["name"];
echo "Tuổi: " . $student["age"];

 

3.3. Mảng đa chiều (Multidimensional Array)

  • Mảng đa chiều là mảng chứa các phần tử là mảng khác.

  • Ví dụ mảng hai chiều:

$matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];
echo $matrix[1][2]; // Truy cập phần tử ở hàng 2, cột 3 (giá trị là 6)

 

Bài tập:

  1. Tạo một mảng chứa danh sách các món ăn yêu thích của bạn. In ra số lượng món ăn trong danh sách và hiển thị tất cả các món ăn đó.

  2. Tạo một mảng kết hợp lưu trữ thông tin của một cuốn sách (tên sách, tác giả, năm xuất bản). Hiển thị thông tin chi tiết của cuốn sách.

  3. Cho một mảng số nguyên. Viết chương trình PHP để tính tổng các phần tử trong mảng.