Hướng dẫn how do you remove duplicates from an array in php? - làm cách nào để loại bỏ các bản sao khỏi một mảng trong php?

Ví dụ này chỉ là một sự thay thế.

    

(Php 4> = 4.0.1, Php 5, Php 7, Php 8)

Array_unique - Xóa các giá trị trùng lặp khỏi một mảngRemoves duplicate values from an array

Sự mô tả

mảng_unique (mảng $array, int $flags = SORT_STRING): mảng(array $array, int $flags = SORT_STRING): array

Lưu ý rằng các khóa được bảo quản. Nếu nhiều phần tử so sánh bằng nhau theo flags đã cho, thì khóa và giá trị của phần tử bằng đầu tiên sẽ được giữ lại.

Lưu ý: Hai phần tử được coi là bằng nhau khi và chỉ khi (string) $elem1 === (string) $elem2 tức là khi biểu diễn chuỗi giống nhau, phần tử đầu tiên sẽ được sử dụng.: Two elements are considered equal if and only if (string) $elem1 === (string) $elem2 i.e. when the string representation is the same, the first element will be used.

Thông số

________số 8

Mảng đầu vào.

flags

Tham số thứ hai tùy chọn flags có thể được sử dụng để sửa đổi hành vi sắp xếp bằng cách sử dụng các giá trị này:

Sắp xếp các lá cờ:

  • Array
    (
        [a] => green
        [0] => red
        [1] => blue
    )
    
    1 - So sánh các mục bình thường (không thay đổi loại)
    - compare items normally (don't change types)
  • Array
    (
        [a] => green
        [0] => red
        [1] => blue
    )
    
    2 - So sánh các mục bằng số
    - compare items numerically
  • SORT_STRING - So sánh các mục dưới dạng chuỗi - compare items as strings
  • Array
    (
        [a] => green
        [0] => red
        [1] => blue
    )
    
    4 - So sánh các mục dưới dạng chuỗi, dựa trên địa phương hiện tại.
    - compare items as strings, based on the current locale.

Trả về giá trị

Trả về mảng được lọc.

Thay đổi

Phiên bảnSự mô tả
7.2.0 mảng_unique (mảng $array, int $flags = SORT_STRING): mảngSORT_STRING, formerly array has been copied and non-unique elements have been removed (without packing the array afterwards), but now a new array is built by adding the unique elements. This can result in different numeric indexes.

Lưu ý rằng các khóa được bảo quản. Nếu nhiều phần tử so sánh bằng nhau theo flags đã cho, thì khóa và giá trị của phần tử bằng đầu tiên sẽ được giữ lại.

Lưu ý: Hai phần tử được coi là bằng nhau khi và chỉ khi (string) $elem1 === (string) $elem2 tức là khi biểu diễn chuỗi giống nhau, phần tử đầu tiên sẽ được sử dụng.array_unique() example

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
8

Thông số

Array
(
    [a] => green
    [0] => red
    [1] => blue
)

________số 8array_unique() and types

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
9

Thông số

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

________số 8

Mảng đầu vào.: Note that array_unique() is not intended to work on multi dimensional arrays.

flags

Tham số thứ hai tùy chọn flags có thể được sử dụng để sửa đổi hành vi sắp xếp bằng cách sử dụng các giá trị này:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
0

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
1

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
2

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
3

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
4

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
5

Sắp xếp các lá cờ:

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
1 - So sánh các mục bình thường (không thay đổi loại)

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
6

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
7

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
8

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
9

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
2 - 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

$array0

$array1

$array2

$array3

$array4

$array5

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
4 - So sánh các mục dưới dạng chuỗi, dựa trên địa phương hiện tại.

Trả về giá trị

$array6

$array7

$array8

$array9

Trả về mảng được lọc.

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
1 - So sánh các mục bình thường (không thay đổi loại)

$flags0

$flags1

$flags2

$flags3

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
2 - 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

$flags4

$flags5

$array5

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
4 - So sánh các mục dưới dạng chuỗi, dựa trên địa phương hiện tại.

Trả về giá trị

$flags7

$flags8

$array5

Trả về mảng được lọc.

Thay đổi

SORT_STRING0

SORT_STRING1

SORT_STRING2

$array5

Phiên bản

Nếu flagsSORT_STRING, trước đây là array đã được sao chép và các yếu tố không duy nhất đã được gỡ bỏ (mà không đóng gói mảng sau đó), nhưng bây giờ một mảng mới được xây dựng bằng cách thêm các yếu tố duy nhất. Điều này có thể dẫn đến các chỉ số số khác nhau.

SORT_STRING4

SORT_STRING5

SORT_STRING6

SORT_STRING7

Ví dụ

SORT_STRING - So sánh các mục dưới dạng chuỗi

SORT_STRING8

SORT_STRING9

$array5

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
4 - So sánh các mục dưới dạng chuỗi, dựa trên địa phương hiện tại.

Trả về giá trị

flags1

flags2

flags3

flags4

Trả về mảng được lọc.

Trả về giá trị

flags5

flags6

flags7

flags8

Trả về mảng được lọc.

Thay đổi

flags9

(string) $elem1 === (string) $elem20

(string) $elem1 === (string) $elem21

(string) $elem1 === (string) $elem22

Phiên bản

Thay đổi

(string) $elem1 === (string) $elem23

(string) $elem1 === (string) $elem24

(string) $elem1 === (string) $elem25

(string) $elem1 === (string) $elem26

Phiên bản

Tham số thứ hai tùy chọn flags có thể được sử dụng để sửa đổi hành vi sắp xếp bằng cách sử dụng các giá trị này:

(string) $elem1 === (string) $elem27

(string) $elem1 === (string) $elem28

(string) $elem1 === (string) $elem29

array0

$array5

Sắp xếp các lá cờ:

SORT_STRING - So sánh các mục dưới dạng chuỗi

array2

array3

$array5

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
4 - So sánh các mục dưới dạng chuỗi, dựa trên địa phương hiện tại.

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
1 - So sánh các mục bình thường (không thay đổi loại)

array5

array6

$array5

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
2 - 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

array8

array9

flags0

flags1

$array5

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
4 - So sánh các mục dưới dạng chuỗi, dựa trên địa phương hiện tại.

Trả về giá trị

flags3

flags4

flags5

flags6

Trả về mảng được lọc.

Trả về giá trị

flags7

flags8

flags9

$array5

Trả về mảng được lọc.

Thay đổi

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
01

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
02

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
03

$array5

Phiên bản

Nếu flagsSORT_STRING, trước đây là array đã được sao chép và các yếu tố không duy nhất đã được gỡ bỏ (mà không đóng gói mảng sau đó), nhưng bây giờ một mảng mới được xây dựng bằng cách thêm các yếu tố duy nhất. Điều này có thể dẫn đến các chỉ số số khác nhau.

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
05

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
06

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
07

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
08

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
09

$array5

Ví dụ

Ví dụ #1 Array_unique () Ví dụ

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
11

$flags1

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
13

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
14

Ví dụ trên sẽ xuất ra:

Ví dụ #2 mảng_unique () và các loại

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
15

$flags1

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
17

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
18

Ghi chú

Lưu ý: Lưu ý rằng Array_unique () không nhằm mục đích hoạt động trên các mảng đa chiều.

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
19

Ghanshyam Katriya (Anshkatriya tại Gmail) ¶

SORT_STRING - So sánh các mục dưới dạng chuỗi

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
20

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
21

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
22

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
23

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
4 - So sánh các mục dưới dạng chuỗi, dựa trên địa phương hiện tại.

SORT_STRING - So sánh các mục dưới dạng chuỗi

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
24

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
25

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
26

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
27

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
4 - So sánh các mục dưới dạng chuỗi, dựa trên địa phương hiện tại.

Thay đổi

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
28

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
29

$array5

Phiên bản

Thay đổi

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
31

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
32

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
33

Array
(
    [a] => green
    [0] => red
    [1] => blue
)
34

$array5

Điều gì loại bỏ tất cả các giá trị trùng lặp khỏi mảng?

Sử dụng phương thức Filter (): Phương thức Filter () tạo ra một mảng các phần tử mới vượt qua điều kiện chúng tôi cung cấp. Nó sẽ chỉ bao gồm những yếu tố mà đúng được trả lại. Chúng ta có thể xóa các giá trị trùng lặp khỏi mảng bằng cách điều chỉnh điều kiện của chúng ta.: The filter() method creates a new array of elements that pass the condition we provide. It will include only those elements for which true is returned. We can remove duplicate values from the array by simply adjusting our condition.

Mảng hợp nhất có loại bỏ các bản sao PHP không?

Bạn có thể sử dụng hàm php mảng_unique () và hàm php array_merge () với nhau để hợp nhất hai mảng thành một mảng mà không có giá trị trùng lặp trong PHP..

Làm thế nào tôi có thể loại bỏ các giá trị trùng lặp khỏi một mảng đa chiều trong PHP?

Tôi đang giải thích lý do tại sao chúng tôi sử dụng 'serialize' và 'unserialize' trong các bước:..
Bước 1: Chuyển đổi mảng đa chiều thành mảng một chiều.....
Bước 2: Làm cho các giá trị duy nhất.....
Bước 3: Hoàn nguyên nó thành mảng đa chiều ..

Làm thế nào tôi có thể nhận được các giá trị duy nhất từ hai mảng trong PHP?

Hàm mảng_diff () so sánh các giá trị của hai mảng (hoặc nhiều) và trả về sự khác biệt.Hàm này so sánh các giá trị của hai mảng (hoặc nhiều) và trả về một mảng chứa các mục từ Array1 không có trong Array2 hoặc Array3, v.v.array_diff() function compares the values of two (or more) arrays, and returns the differences. This function compares the values of two (or more) arrays, and return an array that contains the entries from array1 that are not present in array2 or array3, etc.