Mảng (array) trong PHP là một cấu trúc dữ liệu mạnh mẽ, giúp bạn lưu trữ nhiều giá trị trong một biến duy nhất và dễ dàng quản lý dữ liệu phức tạp. Trong bài viết này, chúng ta sẽ cùng tìm hiểu về các loại mảng trong PHP, bao gồm mảng chỉ số, mảng kết hợp, và cách sử dụng các hàm xử lý mảng như array_push, array_merge, và nhiều hơn nữa. Việc nắm vững các thao tác với mảng sẽ giúp bạn lập trình hiệu quả hơn trong các dự án PHP. Hãy cùng khám phá chi tiết trong bài viết này!
1. Mảng là gì?
Mảng là một tập hợp các phần tử được sắp xếp theo một cấu trúc chỉ mục. Mỗi phần tử của mảng bao gồm một cặp khóa (key) và giá trị (value). Có ba loại mảng chính trong PHP:
- Mảng chỉ số (Indexed Arrays): Các phần tử được truy cập thông qua chỉ số (index) số nguyên.
- Mảng kết hợp (Associative Arrays): Các phần tử được truy cập thông qua khóa (key) dạng chuỗi.
- Mảng đa chiều (Multidimensional Arrays): Mảng chứa các mảng khác bên trong, tạo ra một cấu trúc phân cấp.
2. Mảng chỉ số (Indexed Arrays)
Mảng chỉ số là mảng mà các phần tử được truy cập thông qua các chỉ số số nguyên bắt đầu từ 0.
Cách khởi tạo mảng chỉ số:
// Cách 1: Sử dụng array()
$fruits = array("Táo", "Chuối", "Cam");
// Cách 2: Sử dụng cú pháp []
$fruits = ["Táo", "Chuối", "Cam"];Truy cập phần tử:
echo $fruits[0]; // In ra phần tử đầu tiên: TáoThêm phần tử vào mảng:
$fruits[] = "Dâu"; // Thêm phần tử "Dâu" vào cuối mảngDuyệt qua mảng:
Bạn có thể sử dụng vòng lặp for hoặc foreach để duyệt qua các phần tử của mảng.
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . "<br>";
}
// Hoặc sử dụng foreach
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}3. Mảng kết hợp (Associative Arrays)
Mảng kết hợp cho phép bạn sử dụng các khóa (key) dạng chuỗi thay vì chỉ số số nguyên. Điều này rất hữu ích khi bạn cần ánh xạ các khóa cụ thể với các giá trị.
Cách khởi tạo mảng kết hợp:
$person = array(
"name" => "Minh",
"age" => 25,
"city" => "Hà Nội"
);Truy cập phần tử:
echo $person["name"]; // In ra: MinhThêm hoặc cập nhật phần tử:
$person["job"] = "Lập trình viên"; // Thêm phần tử mới với khóa "job"Duyệt qua mảng kết hợp:
foreach ($person as $key => $value) {
echo "$key: $value<br>";
}Kết quả:
name: Minh
age: 25
city: Hà Nội
job: Lập trình viên4. Mảng đa chiều (Multidimensional Arrays)
Mảng đa chiều là mảng mà mỗi phần tử của nó là một mảng khác. Điều này cho phép bạn tạo cấu trúc dữ liệu phức tạp hơn, ví dụ như ma trận hoặc bảng dữ liệu.
Cách khởi tạo mảng đa chiều:
$students = array(
array("Minh", 25, "Hà Nội"),
array("Lan", 22, "Đà Nẵng"),
array("Nam", 23, "Hồ Chí Minh")
);Truy cập phần tử:
echo $students[0][0]; // In ra: Minh
echo $students[1][2]; // In ra: Đà NẵngDuyệt qua mảng đa chiều:
for ($i = 0; $i < count($students); $i++) {
for ($j = 0; $j < count($students[$i]); $j++) {
echo $students[$i][$j] . " ";
}
echo "<br>";
}Kết quả:
Minh 25 Hà Nội
Lan 22 Đà Nẵng
Nam 23 Hồ Chí Minh5. Các hàm xử lý mảng phổ biến
PHP cung cấp rất nhiều hàm mạnh mẽ để làm việc với mảng. Dưới đây là một số hàm phổ biến bạn nên biết:
5.1. count()
Hàm count() được sử dụng để đếm số lượng phần tử trong mảng.
$fruits = ["Táo", "Chuối", "Cam"];
echo count($fruits); // In ra: 35.2. array_merge()
Hàm array_merge() được sử dụng để gộp hai hoặc nhiều mảng lại với nhau.
$array1 = ["A", "B"];
$array2 = ["C", "D"];
$result = array_merge($array1, $array2);
print_r($result); // Kết quả: Array ( [0] => A [1] => B [2] => C [3] => D )5.3. array_push()
Hàm array_push() được sử dụng để thêm một hoặc nhiều phần tử vào cuối mảng.
$fruits = ["Táo", "Chuối"];
array_push($fruits, "Cam", "Dâu");
print_r($fruits); // Kết quả: Array ( [0] => Táo [1] => Chuối [2] => Cam [3] => Dâu )5.4. array_pop()
Hàm array_pop() loại bỏ phần tử cuối cùng của mảng.
$fruits = ["Táo", "Chuối", "Cam"];
array_pop($fruits);
print_r($fruits); // Kết quả: Array ( [0] => Táo [1] => Chuối )5.5. in_array()
Hàm in_array() kiểm tra xem một giá trị có tồn tại trong mảng hay không.
$fruits = ["Táo", "Chuối", "Cam"];
if (in_array("Chuối", $fruits)) {
echo "Chuối có trong mảng!";
}5.6. array_search()
Hàm array_search() tìm kiếm một giá trị trong mảng và trả về khóa của giá trị đó nếu tìm thấy.
$fruits = ["Táo", "Chuối", "Cam"];
$key = array_search("Cam", $fruits);
echo $key; // In ra: 25.7. sort() và rsort()
sort(): Sắp xếp mảng theo thứ tự tăng dần.rsort(): Sắp xếp mảng theo thứ tự giảm dần.
$numbers = [4, 2, 8, 6];
sort($numbers);
print_r($numbers); // Kết quả: Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
rsort($numbers);
print_r($numbers); // Kết quả: Array ( [0] => 8 [1] => 6 [2] => 4 [3] => 2 )6. Kết luận
Mảng là một cấu trúc dữ liệu quan trọng trong PHP, giúp bạn lưu trữ và xử lý nhiều giá trị một cách dễ dàng. Từ mảng chỉ số, mảng kết hợp đến mảng đa chiều, PHP cung cấp các công cụ mạnh mẽ để thao tác với dữ liệu một cách linh hoạt. Việc sử dụng thành thạo mảng và các hàm xử lý mảng sẽ giúp bạn viết mã hiệu quả và tiết kiệm thời gian hơn trong quá trình phát triển ứng dụng.
Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về mảng trong PHP. Hãy tiếp tục khám phá và luyện tập với nhiều ví dụ để nâng cao kỹ năng lập trình PHP của mình!









