Tìm phần tử chung trong 2 mảng php

Gửi email từ Java rất đơn giản. Chúng ta cần cài đặt Java Mail Jar và đặt đường dẫn của nó trong đường dẫn lớp của chương trình. Các thuộc tính cơ bản được đặt trong mã và chúng tôi rất vui lòng gửi email như được đề cập trong mã bên dưới

Bạn có một cặp mảng và bạn muốn tìm hợp của chúng [tất cả các phần tử], giao điểm [các phần tử trong cả hai, không chỉ một] hoặc hiệu [trong một chứ không phải cả hai]

Để tính toán công đoàn

$union = array_unique[array_merge[$a, $b]];

Để tính giao điểm

$intersection = array_intersect[$a, $b];

Để tìm sự khác biệt đơn giản

$difference = array_diff[$a, $b];

Và đối với sự khác biệt đối xứng

$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];

Nhiều thành phần cần thiết cho các tính toán này được tích hợp sẵn trong PHP, vấn đề chỉ là kết hợp chúng theo trình tự thích hợp

Để tìm sự kết hợp, bạn hợp nhất hai mảng để tạo một mảng khổng lồ với tất cả các giá trị. Tuy nhiên,

$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];
9 cho phép các giá trị trùng lặp khi hợp nhất hai mảng số, vì vậy bạn gọi
$intersection = array_intersect[$a, $b];
0 để lọc chúng ra. Điều này có thể để lại khoảng cách giữa các mục vì
$intersection = array_intersect[$a, $b];
0 không thu gọn mảng. Tuy nhiên, đó không phải là vấn đề vì
$intersection = array_intersect[$a, $b];
2 và
$intersection = array_intersect[$a, $b];
3 xử lý các mảng được điền thưa thớt mà không gặp trở ngại nào

Hàm tính giao lộ có tên đơn giản là

$intersection = array_intersect[$a, $b];
4 và bạn không cần thực hiện thêm thao tác nào

Hàm

$intersection = array_intersect[$a, $b];
5 trả về một mảng chứa tất cả các phần tử duy nhất trong
$intersection = array_intersect[$a, $b];
6 không có trong
$intersection = array_intersect[$a, $b];
7. Đây được gọi là sự khác biệt đơn giản

$intersection = array_intersect[$a, $b];
2

Mảng kết quả,

$intersection = array_intersect[$a, $b];
8 chứa
$intersection = array_intersect[$a, $b];
9 và
$difference = array_diff[$a, $b];
0, vì
$intersection = array_intersect[$a, $b];
5 phân biệt chữ hoa chữ thường. Nó không chứa
$difference = array_diff[$a, $b];
2 vì nó không xuất hiện trong
$intersection = array_intersect[$a, $b];
6

Để có được sự khác biệt ngược lại, hay nói cách khác, để tìm các yếu tố duy nhất trong

$intersection = array_intersect[$a, $b];
7 mà không có trong
$intersection = array_intersect[$a, $b];
6, hãy đảo ngược các đối số

$difference = array_diff[$a, $b];
1

Mảng

$difference = array_diff[$a, $b];
6 chỉ chứa
$difference = array_diff[$a, $b];
2

Nếu bạn muốn áp dụng một chức năng hoặc bộ lọc khác cho

$intersection = array_intersect[$a, $b];
5, hãy sử dụng thuật toán tìm khác biệt của riêng bạn

$difference = array_diff[$a, $b];
5

$intersection = array_intersect[$a, $b];
2 đầu tiên xây dựng bảng tra cứu mảng kết hợp. Sau đó, bạn lặp qua
$intersection = array_intersect[$a, $b];
6 và nếu bạn không thể tìm thấy mục nhập nào trong phần tra cứu của chúng tôi, hãy thêm phần tử đó vào
$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];
1

Có thể nhanh hơn một chút khi kết hợp

$intersection = array_intersect[$a, $b];
5 với
$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];
3

$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];
1

Sự khác biệt đối xứng là những gì ở trong

$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];
4, nhưng không phải ở
$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];
5, và những gì ở trong
$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];
5, nhưng không phải ở
$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];
4

$difference = array_merge[array_diff[$a, $b], array_diff[$b, $a]];

Khi đã nêu, thuật toán rất đơn giản. Bạn gọi

$intersection = array_intersect[$a, $b];
5 hai lần và tìm thấy hai sự khác biệt. Sau đó, bạn hợp nhất chúng lại với nhau thành một mảng. Không cần gọi
$intersection = array_intersect[$a, $b];
0, vì bạn đã cố tình xây dựng các mảng này không có điểm chung nào

Làm cách nào tôi có thể tìm thấy các giá trị khớp trong hai mảng 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 để so sánh hai mảng bằng nhau 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.

+= có hoạt động trên các mảng trong PHP không?

Toán tử + trong PHP khi được áp dụng cho mảng sẽ thực hiện công việc của mảng UNION . mảng $arr += mảng $arr1; .

Làm cách nào tôi có thể truy cập nhiều mảng trong PHP?

Lưu ý − Nếu có nhiều hơn 2 mảng, có thể sử dụng vòng lặp 'foreach' lồng nhau . Ở đây, 2 mảng đã được khai báo và chúng đang được duyệt bằng vòng lặp 'foreach'. Kết quả là chỉ mục tương ứng của mỗi mảng được khớp và dữ liệu tại các chỉ mục đó được hiển thị cạnh nhau.

Chủ Đề