Làm cách nào để nhận các giá trị duy nhất từ ​​hai mảng trong PHP?

Để nhận các giá trị duy nhất trong hai mảng trong tài liệu, hãy sử dụng $setUnion trong tổng hợp(). $setUnion nhận hai hoặc nhiều mảng và trả về một mảng chứa các phần tử xuất hiện trong bất kỳ mảng đầu vào nào

Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

>db.demo608.insertOne({"ListOfName1":["John","Chris","Bob","David"],"ListOfName2":["Bob", "Sam","John","Robert","Chris"]}
.. );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e974542f57d0dc0b182d62b")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find() -

> db.demo608.find().pretty();

Điều này sẽ tạo ra đầu ra sau -

{
   "_id" : ObjectId("5e974542f57d0dc0b182d62b"),
   "ListOfName1" : [
      "John",
      "Chris",
      "Bob",
      "David"
   ],
   "ListOfName2" : [
      "Bob",
      "Sam",
      "John",
      "Robert",
      "Chris"
   ]
}

Sau đây là truy vấn để nhận các giá trị duy nhất trong hai mảng trong một tài liệu MongoDB -

> db.demo608.aggregate([
..    {$project:{SetOfNames:{$setUnion:['$ListOfName1','$ListOfName2']}}}
.. ]).pretty();

Điều này sẽ tạo ra đầu ra sau -

{
   "_id" : ObjectId("5e974542f57d0dc0b182d62b"),
   "SetOfNames" : [
      "Bob",
      "Chris",
      "David",
      "John",
      "Robert",
      "Sam"
   ]
}

Làm cách nào để nhận các giá trị duy nhất từ ​​hai mảng trong PHP?


Làm cách nào để nhận các giá trị duy nhất từ ​​hai mảng trong PHP?

Chúng tôi có một mảng Javascript và chúng tôi muốn tìm tất cả các phần tử không phải là duy nhất của mảng. Để lấy tất cả các giá trị không phải là duy nhất từ ​​mảng, đây là một vài ví dụ.  

Phương thức JavaScript Array Slice(). Phương thức này trả về các phần tử đã chọn trong một đối tượng mảng mới. Phương thức này nhận các phần tử bắt đầu từ đối số bắt đầu đã chỉ định và kết thúc khi loại trừ đối số kết thúc đã cho.  

cú pháp

array.slice(start, end)

Thông số

  • bắt đầu. Tham số này là tùy chọn. Nó chỉ định số nguyên từ nơi bắt đầu lựa chọn (chỉ số bắt đầu từ 0). Số âm dùng để chọn từ cuối mảng. Nếu không được sử dụng, nó hoạt động như “0”
  • kết thúc. Tham số này là tùy chọn. Nó chỉ định số nguyên từ nơi kết thúc lựa chọn. Nếu không sử dụng thì tất cả các phần tử từ đầu đến cuối mảng sẽ được chọn. Số âm dùng để chọn từ cuối mảng

ví dụ 1. Ví dụ này trước tiên sắp xếp mảng và sau đó chọn từng mảng nếu chúng không phải là duy nhất.  

HTML




<body style="text-align:center;" id="body">

<0_______6_______<2 style=<5>

<7<8

<0_______7_______0<2>

<0_______6_______body5 id___=body8 style=style1>

<0_______7_______0body5>

<0_______6__________style9 =0_______9_______=2>

<7_______9_______5

<0_______7_______0style9>

<0_______6_______body5 id___="text-align:center;"5 "text-align:center;"6

"text-align:center;"7_______10_______8

"text-align:center;"7id0

<0_______7_______0body5>

<0_______6_______id7>

<7____9_______0

<7=2

<7=4

<7=6

<7_______9_______8

<7"body"0

"body"1

<7"body"3

"body"4"body"5"body"6 "body"7

"body"8"body"9

>0_______14_______1

"body"8>3

"body"4>3

"body"4>7 =>9 <00

<7>3

<0_______6_______04

body0body>

đầu ra

Làm cách nào để nhận các giá trị duy nhất từ ​​hai mảng trong PHP?

 

ví dụ 2. Trong ví dụ này, hãy tạo một từ điển và sau đó lưu trữ tần suất của từng phần tử. Sau này nếu phát hiện chúng có tần số lớn hơn 1 thì phần tử đó sẽ được chọn.  

HTML




<body style="text-align:center;" id="body">

<0_______6_______<2 style=<5>

<7<8

<0_______7_______0<2>

<0_______6_______body5 id___=body8 style=style1>

<0_______7_______0body5>

<0_______6__________style9 =0_______9_______=2>

<7_______9_______5

<0_______7_______0style9>

<0_______6_______body5 id___="text-align:center;"5 "text-align:center;"6

"text-align:center;"7_______10_______8

"text-align:center;"7id0

<0_______7_______0body5>

<0_______6_______id7>

<7____9_______0

<7=2

<7=4

<7"body"0

"body"1

<7"body"3

"body"4<88

"body"8<90

"body"8<92

"body"1

"body"4"body"5<96<97

"body"8<99body00 =body02body03

"body"8body05

"body"8body07

>0____7_______09

"body"8>3

"body"4>3

"body"4body15

<7>3

<0_______7_______0id7>

body0body>

đầu ra

Làm cách nào để nhận các giá trị duy nhất từ ​​hai mảng trong PHP?

 

ví dụ 3. Ví dụ này sử dụng phương thức lọc để kiểm tra chỉ mục của các phần tử khác nhau đối với các phần tử của bất kỳ phần tử nào và trả về các phần tử.  

Làm cách nào để tìm giá trị duy nhất từ ​​hai mảng trong PHP?

Hàm array_diff() so sánh giá trị của hai (hoặc nhiều) mảng và trả về sự khác biệt. Hàm này so sánh các giá trị của hai (hoặc nhiều) mảng và trả về một mảng chứa các mục từ mảng1 không có trong mảng2 hoặc mảng3, v.v.

Làm cách nào để nhận các giá trị duy nhất từ ​​​​mảng trong PHP?

Hàm array_unique() xóa các giá trị trùng lặp khỏi một mảng. Nếu hai hoặc nhiều giá trị mảng giống nhau, thì giá trị đầu tiên sẽ được giữ lại và giá trị còn lại sẽ bị xóa. Ghi chú. Mảng được trả về sẽ giữ loại khóa của mục mảng đầu tiên.

Làm cách nào để khớp hai giá trị mảng trong PHP?

Hàm array_intersect() so sánh giá trị của hai (hoặc nhiều) mảng và trả về kết quả khớp. Hàm này so sánh các giá trị của hai hoặc nhiều mảng và trả về một mảng chứa các mục từ mảng1 có trong mảng2, mảng3, v.v.

Làm cách nào để lấy các phần tử chung của hai mảng trong PHP?

Nhưng PHP cung cấp một hàm sẵn có ( array_intersect()) trả về các phần tử chung (giao nhau) của hai mảng. array_intersect($array1, $array2). Trả về một mảng chứa tất cả các giá trị của mảng1 có trong mảng2.