Hàm PHP array_unique[] cho phép bạn tạo một mảng mới chỉ chứa các giá trị duy nhất từ mảng ban đầu. Bài đăng này xem xét một số ví dụ về cách sử dụng hàm array_unique
Trong ví dụ bên dưới, chúng ta sẽ sử dụng một mảng đã được khởi tạo với một vài giá trị như hình bên dưới
$array = array[ 'foo', 'bar', 'baz', 'bat', 'foo', 'bar', 'baz' ];
Hàm PHP print_r[] để hiển thị các giá trị của mảng trên sẽ xuất ra như sau
Array [ [0] => foo [1] => bar [2] => foo [3] => baz [4] => bat [5] => bar ]
Như bạn có thể thấy từ ví dụ trên, có một số giá trị trùng lặp trong mảng và chúng tôi muốn xóa tất cả các giá trị trùng lặp. Điều này được thực hiện dễ dàng như trong ví dụ dưới đây
$array2 = array_unique[$array]; print_r[$array2];
Đoạn mã trên sẽ xuất ra như sau, đã loại bỏ các giá trị trùng lặp khỏi mảng và hiện chỉ chứa các giá trị mảng duy nhất
Array [ [0] => foo [1] => bar [3] => baz [4] => bat ]
Ví dụ trên cho chúng ta thấy mảng ban đầu nhưng loại bỏ các giá trị trùng lặp. Lưu ý rằng các khóa mảng [2] và [5] đã bị xóa vì chúng đã chứa các giá trị đặc trưng trong các khóa trước đó trong mảng
Sử dụng array_unique với một mảng kết hợp
Mảng kết hợp chứa các giá trị hỗn hợp làm khóa mảng, trong khi các ví dụ trên sử dụng mảng được lập chỉ mục số nguyên dựa trên 0. Nguyên tắc của hàm array_unique[] giống với mảng kết hợp. bất kỳ phần tử mảng nào có giá trị trùng lặp sẽ bị xóa hoàn toàn khỏi mảng
Đối với ví dụ sau, chúng tôi sẽ sử dụng một mảng tương tự như trên, nhưng được xác định bằng các giá trị văn bản cho chỉ mục và số nguyên cho các giá trị [nội dung chính xác của khóa và giá trị không thực sự quan trọng]
$array = array[ 'foo' => 1, 'bar' => 2, 'foo' => 2, 'baz' => 3, 'bat' => 1, 'bar' => 3 ];
Chạy print_r trên mảng này sẽ hiển thị như sau
Array [ [foo] => 2 [bar] => 3 [baz] => 3 [bat] => 1 ]
Đương nhiên, lần xuất hiện thứ hai của 'foo' và 'bar' dưới dạng các khóa mảng sẽ ghi đè lên các khai báo trước đó trong khai báo mảng. Chúng ta có thể thấy trong ví dụ trên rằng cả 'bar' và 'baz' đều chứa cùng một giá trị là 3. Vì vậy, chạy array_unique[] và sau đó print_r[] trên mảng trên sẽ làm điều này
$array2 = array_unique[$array];
print_r[$array2];
Array [ [foo] => 2 [bar] => 3 [bat] => 1 ]
Vì vậy, việc sử dụng hàm PHP array_unique[] trên một mảng kết hợp hoạt động giống như đối với một mảng được lập chỉ mục số nguyên dựa trên số không. nó làm cho các giá trị của mảng là duy nhất và không quan tâm đến khóa của mảng. Khóa và giá trị bị xóa hoàn toàn khỏi mảng
Hai phần tử được coi là bằng nhau khi và chỉ khi [string] $item1 === [string] $item2. Ví dụ: phần tử đầu tiên sẽ được sử dụng khi biểu diễn chuỗi giống nhauMảng PHP_unique
PHP array_unique[] là một hàm dựng sẵn trả về một mảng không có giá trị trùng lặp. Phương thức array_unique[] loại bỏ các giá trị trùng lặp khỏi một mảng. Nó nhận một mảng đầu vào và trả về một mảng mới không có giá trị trùng lặp
Loại bỏ các giá trị trùng lặp khỏi một mảng trong PHP
Để loại bỏ các giá trị trùng lặp khỏi một mảng trong PHP, hãy sử dụng hàm array_unique[]. Nếu hai hoặc nhiều giá trị mảng giống nhau, giá trị đầu tiên sẽ được giữ lại và giá trị còn lại sẽ bị xóa. Mảng được trả về sẽ giữ loại khóa của mục đầu tiên trong mảng.
cú pháp
Cú pháp của hàm array_unique[] như sau
array_unique[array, [sortingType]]
Tranh luận
Tham số mảng là bắt buộc, tham số này chỉ định mảng
Tham số sortingType là tùy chọn và tham số này chỉ định cách so sánh phần tử mảng. Sau đây là một số cờ soringType
- SORT_REGULAR – thường so sánh các mục [không thay đổi loại]
- SORT_NUMERIC – so sánh các mục bằng số
- SORT_STRING – so sánh các mục dưới dạng chuỗi
- SORT_LOCAL_STRING – so sánh các mục dưới dạng chuỗi dựa trên ngôn ngữ hiện tại
Ví dụ
Xem ví dụ sau
Array [ [0] => foo [1] => bar [2] => foo [3] => baz [4] => bat [5] => bar ]0
Vì vậy, chúng ta đã xác định mảng giá trị lặp lại và bây giờ chúng ta chuyển mảng đó cho hàm array_unique[]. Đầu ra là sau
Đầu ra trên chưa được sắp xếp
Mảng liên kết trong hàm PHP array_unique[]
Hãy chuyển mảng kết hợp cho hàm array_unique và xem kết quả
Array [ [0] => foo [1] => bar [2] => foo [3] => baz [4] => bat [5] => bar ]1
Đầu ra là sau
Ở đây, một điều cần lưu ý là array_unique[] không nhằm mục đích hoạt động trên mảng nhiều chiều.
Tạo mảng nhiều chiều độc đáo
Bạn có thể tạo một mảng đa chiều duy nhất cho bất kỳ chỉ mục khóa đơn nào. Xem đoạn mã sau
Array [ [0] => foo [1] => bar [2] => foo [3] => baz [4] => bat [5] => bar ]2
Vì vậy, chúng tôi đã tạo một hàm loại bỏ các giá trị khỏi mảng nhiều chiều có khóa có cùng giá trị
Chúng tôi đang lấy một đối số của một mảng nhiều chiều và khóa
Trong hàm trên, key là một tham số quan trọng vì giá trị của key quyết định các giá trị của mảng có nằm trong mảng hay không. Ngoài ra, nó quyết định xem nó có bị trùng lặp hay không
Xem mã đầy đủ với ví dụ dưới đây
Array [ [0] => foo [1] => bar [2] => foo [3] => baz [4] => bat [5] => bar ]3
Đầu ra là sau
Đó là nó cho hướng dẫn này
Bài viết trước PHP json_decode. Cách giải mã dữ liệu JSON trong PHP
Bài viết tiếp theo Phương sai Python. Cách tính phương sai trong Python
kranal
https. //appdividend. com/
Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end