PHP 합집합, 교집합, 차집합, 대칭차

(PHP 집합 연산에서 넘어옴)
Set operations with PHP Arrays
PHP 배열 집합 연산
PHP 합집합, 교집합, 차집합, 대칭차

1 테스트 환경[ | ]

  • $arr1의 원소는 A, B, C, D
  • $arr2의 원소는 C, D, E, F
테이블 생성 및 데이터 입력
PHP
Copy
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];

2 합집합[ | ]

 

PHP
CPU
0.0s
MEM
22M
0.0s
Copy
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];
$union = array_unique(array_merge($arr1, $arr2));
print_r( $union );
Array
(
    [0] => A
    [1] => B
    [2] => C
    [3] => D
    [6] => E
    [7] => F
)

3 교집합[ | ]

 

PHP
Copy
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];
$intersection = array_values(array_intersect($arr1, $arr2));
print_r( $intersection );
Loading

4 차집합[ | ]

 

PHP
Copy
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];
$complement = array_values(array_diff($arr1, $arr2));
print_r( $complement );
Loading

5 대칭차집합[ | ]

 

PHP
Copy
$arr1 = ['A', 'B', 'C', 'D'];
$arr2 = ['C', 'D', 'E', 'F'];
$sym_diff = array_values(array_diff(array_merge($arr1, $arr2), array_intersect($arr1, $arr2)));
print_r( $sym_diff );
Loading

6 예제 코드[ | ]

PHP
Copy
<?php
$arr1 = array('A', 'B', 'C', 'D');
$arr2 = array('C', 'D', 'E', 'F');

echo "<h3>Union</h3>";
$union = array_unique(array_merge($arr1, $arr2));
print_r($union);

echo "<h3>Intersection</h3>";
$intersection = array_values(array_intersect($arr1, $arr2));
print_r($intersection);

echo "<h3>Complement</h3>";
$complement = array_values(array_diff($arr1, $arr2));
print_r($complement);

echo "<h3>Symmetric difference</h3>";
$sym_diff = array_values(array_diff(array_merge($arr1, $arr2), array_intersect($arr1, $arr2)));
print_r($sym_diff);

7 같이 보기[ | ]

  • MECE 원리
    아아 오래간만이네요 MECE... Pinkcrimson