Hướng dẫn are arrays unique php? - các mảng là php duy nhất?

(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ố

array

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(2) {
      [0] => int(4)
      [2] => string(1) "3"
    }
    
    0 - 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(2) {
      [0] => int(4)
      [2] => string(1) "3"
    }
    
    1 - 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(2) {
      [0] => int(4)
      [2] => string(1) "3"
    }
    
    3 - 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(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
7

Thông số

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

arrayarray_unique() and types

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

Thông số

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

array

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"
}
9

$array0

$array1

$array2

$array3

$array4

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

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
0 - So sánh các mục bình thường (không thay đổi loại)

$array5

$array6

$array7

$array8

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
1 - 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

$array9

$flags0

$flags1

$flags2

$flags3

$flags4

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
3 - 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ị

$flags5

$flags6

$flags7

$flags8

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

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
0 - So sánh các mục bình thường (không thay đổi loại)

$flags9

SORT_STRING0

SORT_STRING1

SORT_STRING2

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
1 - 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_STRING3

SORT_STRING4

$flags4

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
3 - 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ị

SORT_STRING6

SORT_STRING7

$flags4

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

Thay đổi

SORT_STRING9

flags0

flags1

$flags4

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.

flags3

flags4

flags5

flags6

Ví dụ

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

flags7

flags8

$flags4

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
3 - 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ị

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

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

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

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

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

Trả về giá trị

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

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

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

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

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

Thay đổi

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

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

array0

array1

Phiên bản

Thay đổi

array2

array3

array4

array5

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:

array6

array7

array8

array9

$flags4

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

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

flags1

flags2

$flags4

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
3 - 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(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
0 - So sánh các mục bình thường (không thay đổi loại)

flags4

flags5

$flags4

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
1 - 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

flags7

flags8

flags9

flags0

$flags4

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
3 - 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ị

flags2

flags3

flags4

flags5

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

Trả về giá trị

flags6

flags7

flags8

$flags4

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

Thay đổi

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

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

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

$flags4

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(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
04

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

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

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

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

$flags4

Ví dụ

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

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

SORT_STRING0

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

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

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

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

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

SORT_STRING0

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

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

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(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
18

Ghanshyam Katriya (Anshkatriya tại Gmail) ¶

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

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

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

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

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

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
3 - 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(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
23

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

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

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

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
3 - 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(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
27

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

$flags4

Phiên bản

Thay đổi

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

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

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

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

$flags4