Hàm array_unique() trong PHP
Trần Thị Vân
- 1219
- 02/08/2025
Chức năng của Hàm array_unique() trong PHP
Hàm array_unique() trong PHP dùng để loại bỏ các phần tử trong mảng có giá trị giống nhau chỉ để lại phần tử đầu tiên sau đó đưa vô mảng mới, các khóa (key) của các phần tử khi qua mảng mới vẫn giữ nguyên không cập nhật lại khóa (key), mảng gốc vẫn giữ nguyên không thay đổi.
Cú pháp của Hàm array_unique() trong PHP
$mảng_mới = array_unique($biến_mảng_gốc);
$biến_mảng_gốc: Biến của mảng gốc.
$mảng_mới: Trả kết quả về mảng mới mà không làm thay đổi mảng gốc.
Ví dụ Hàm array_unique() trong PHP
<h2>Hàm array_unique() mảng bình thường</h2>
<?php
$manggoc = array("Lực","Vân","Quỳnh","Vân","Dung");
$mangmoi = array_unique($manggoc);
// Kết quả: Array ( [0] => Lực [1] => Vân [2] => Quỳnh [4] => Dung )
print_r($mangmoi);
?>
<h2>Hàm array_unique() mảng liên kết</h2>
<?php
$manggoc = array("a"=>"Đỏ","b"=>"Xanh","c"=>"Đỏ","d"=>"Vàng");
$mangmoi = array_unique($manggoc);
// Kết quả: Array ( [a] => Đỏ [b] => Xanh [d] => Vàng )
print_r($mangmoi);
?>
Kết quả:
/////Hàm array_unique() mảng bình thường
Array ( [0] => Lực [1] => Vân [2] => Quỳnh [4] => Dung )
/////Hàm array_unique() mảng liên kết
Array ( [a] => Đỏ [b] => Xanh [d] => Vàng )
Kinh nghiệm sử dụng array_unique() trong PHP hiệu quả
Khi xử lý dữ liệu dạng mảng, việc xuất hiện nhiều phần tử giống nhau là tình huống khá phổ biến. array_unique() giúp loại bỏ các giá trị trùng lặp, nhưng để sử dụng hiệu quả cần chú ý đến kiểu dữ liệu, khóa phần tử và cách tiếp tục xử lý mảng sau khi lọc.
Xử lý mảng có giá trị trùng lặp trong dữ liệu thực tế
Trong thực tế, array_unique() có thể được dùng khi cần làm sạch danh sách trước khi hiển thị hoặc lưu trữ. Chẳng hạn, một danh sách tên sản phẩm, danh mục hoặc từ khóa có thể được tổng hợp từ nhiều nguồn và chứa các giá trị lặp lại.
<?php
$keywords = ["PHP", "MySQL", "PHP", "HTML", "MySQL"];
$uniqueKeywords = array_unique($keywords);
print_r($uniqueKeywords);
?>
Kết quả chỉ giữ lại lần xuất hiện đầu tiên của mỗi giá trị. Cách này phù hợp khi mục tiêu là loại bỏ dữ liệu trùng mà không cần tự xây dựng vòng lặp kiểm tra từng phần tử.
Những trường hợp cần lưu ý khi loại bỏ phần tử trùng nhau
Một điểm dễ bỏ qua là array_unique() loại bỏ giá trị trùng nhưng không tự sắp xếp lại khóa của các phần tử còn lại. Vì vậy, mảng sau khi xử lý có thể xuất hiện các khóa không liên tiếp.
<?php
$items = ["PHP", "HTML", "PHP", "CSS"];
$items = array_unique($items);
print_r($items);
?>
Nếu cần một mảng có khóa liên tục để tiếp tục xử lý theo vị trí, có thể kết hợp thêm array_values(). Đây là bước hữu ích khi dữ liệu sau đó được duyệt bằng chỉ số hoặc chuyển sang định dạng khác.
Khi nào nên kết hợp array_unique() với các hàm xử lý mảng khác?
array_unique() nên được kết hợp với các hàm mảng khác khi dữ liệu cần trải qua nhiều bước xử lý. Ví dụ, có thể lọc những giá trị không phù hợp trước, loại bỏ phần tử trùng, sau đó đánh lại khóa để tạo ra mảng cuối cùng gọn gàng hơn.
<?php
$items = ["PHP", "", "HTML", "PHP", "CSS", ""];
$items = array_filter($items);
$items = array_unique($items);
$items = array_values($items);
print_r($items);
?>
Cách kết hợp này giúp mỗi hàm đảm nhiệm một nhiệm vụ riêng, từ đó mã nguồn dễ đọc và dễ kiểm soát hơn. Với dữ liệu lớn hoặc yêu cầu xử lý phức tạp, nên xác định rõ điều kiện lọc trước khi loại bỏ phần tử trùng để tránh làm mất những giá trị vẫn cần sử dụng.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm array_unique() 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 *