Mảng (Array) trong PHP
Trần Thị Vân
- 1257
- 24/07/2025
Mảng (Array) trong PHP là gì?
Mảng (Array) trong PHP là một biến đặc biệt cho phép lưu trữ nhiều giá trị khác nhau trên cùng một biến, thông qua chỉ số index hoặc key để lấy được giá trị trong mảng.
Cách tạo Mảng (Array) trong PHP
Dùng hàm array():
$traicay = array("Ổi","Chanh","Ớt","Cam","Dưa hấu");
Dùng dấu ngoặc vuông []:
$traicay = ["Ổi","Chanh","Ớt","Cam","Dưa hấu"];
Các loại Mảng (Array) trong PHP
Mảng chỉ số index
Các phần tử đều có chỉ số, và chỉ số có số thứ tự từ 0 trở lên:
<?php
$traicay = array("Ổi","Chanh","Ớt","Cam","Dưa hấu");
for($i=0;$i<count($traicay);$i++){
echo $traicay[$i]."<br>";
}
?>
Mảng liên kết trong PHP
Đối với mảng liên kết thì nên dùng vòng lặp foreach để lấy key và value:
<?php
$thongtin = array("datauser" => "datau1","username" => "user1","password" => "123456");
foreach($thongtin as $key => $value) {
echo "Key=" . $key . ", Value=" . $value;
echo "<br>";
}
?>
Mảng đa chiều trong PHP
Một mảng chứa nhiều mảng khác, tùy vào độ sâu mà các mảng sẽ có độ phức tạp lớn hơn:
<?php
$thongtin = array(array("Lực","35","Nam"),array("Vân","29","Nữ"),array("Quỳnh","1","Nữ"));
for ($row = 0; $row < 3; $row++) {
echo "<p><b>Hàng số $row</b></p>";
echo "<ul>";
for ($col = 0; $col < 3; $col++) {
echo "<li>".$thongtin[$row][$col]."</li>";
}
echo "</ul>";
}
?>
Các thao tác thường dùng với Mảng (Array) trong PHP
Sau khi tạo và khai báo mảng, bước tiếp theo thường là thêm, xóa, tìm kiếm hoặc sắp xếp dữ liệu theo nhu cầu của chương trình. PHP cung cấp nhiều hàm xử lý mảng giúp các thao tác này được thực hiện nhanh chóng mà không cần tự xây dựng toàn bộ logic.
Thêm, xóa và thay đổi phần tử trong Mảng PHP
Phần tử trong mảng có thể được thêm trực tiếp bằng khóa, thêm vào cuối bằng array_push() hoặc xóa bằng unset(). Khi cần thay đổi dữ liệu, chỉ cần truy cập đúng khóa rồi gán giá trị mới.
<?php
$sanPham = ["Laptop", "Điện thoại"];
$sanPham[] = "Máy tính bảng";
$sanPham[0] = "Laptop Gaming";
unset($sanPham[1]);
print_r($sanPham);
?>
Cách làm này phù hợp khi biết chính xác vị trí hoặc khóa cần thao tác. Với dữ liệu lớn, nên xác định rõ mục đích xử lý trước khi sử dụng hàm để tránh làm thay đổi cấu trúc mảng ngoài ý muốn.
Tìm kiếm và kiểm tra phần tử trong Mảng PHP
Khi cần xác định một giá trị có tồn tại hay không, có thể sử dụng in_array(). Nếu cần lấy khóa tương ứng với một giá trị, array_search() sẽ phù hợp hơn.
<?php
$ngonNgu = ["PHP", "JavaScript", "Python"];
if (in_array("PHP", $ngonNgu)) {
echo "PHP tồn tại trong mảng";
}
$viTri = array_search("Python", $ngonNgu);
echo $viTri;
?>
Với dữ liệu có thể chứa nhiều kiểu giá trị, nên cân nhắc kiểm tra nghiêm ngặt để tránh trường hợp PHP xem một số giá trị khác kiểu nhưng có biểu diễn tương đương là giống nhau.
Sắp xếp và xử lý Mảng PHP
PHP có nhiều hàm hỗ trợ sắp xếp mảng theo giá trị hoặc theo khóa. Chẳng hạn, sort() sắp xếp giá trị theo thứ tự tăng dần và đồng thời đánh lại khóa số.
<?php
$diem = [8, 5, 9, 6, 7];
sort($diem);
print_r($diem);
?>
Nếu cần giữ nguyên khóa khi sắp xếp, có thể lựa chọn các hàm khác như asort() hoặc ksort() tùy vào việc muốn sắp xếp theo giá trị hay khóa. Việc chọn đúng hàm giúp hạn chế tình trạng mất mối liên hệ giữa khóa và dữ liệu.
Gộp, tách và chuyển đổi Mảng PHP
Khi xử lý dữ liệu từ nhiều nguồn, việc kết hợp hoặc tách mảng thường xuất hiện trong các chương trình PHP. array_merge() có thể dùng để gộp nhiều mảng, trong khi array_slice() hỗ trợ lấy một phần dữ liệu mà không cần xử lý từng phần tử thủ công.
<?php
$mienBac = ["Hà Nội", "Hải Phòng"];
$mienNam = ["TP.HCM", "Cần Thơ"];
$tatCa = array_merge($mienBac, $mienNam);
$motPhan = array_slice($tatCa, 1, 2);
print_r($tatCa);
print_r($motPhan);
?>
Ngoài ra, PHP còn có các hàm chuyển đổi giữa chuỗi và mảng như explode() và implode(). Đây là nhóm thao tác hữu ích khi dữ liệu cần được nhận từ biểu mẫu, tệp tin hoặc cơ sở dữ liệu rồi chuyển sang cấu trúc phù hợp để xử lý.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Mảng (Array) trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *